configurations

package
v0.0.0-...-4a59535 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type RabbitMQConsumerConfiguration

type RabbitMQConsumerConfiguration struct {
	Name                string
	ConsumerMessageType reflect.Type
	Pipelines           []pipeline.ConsumerPipeline
	Handlers            []consumer2.ConsumerHandler
	*consumer2.ConsumerOptions
	ConcurrencyLimit int
	// The prefetch count tells the Rabbit connection how many messages to retrieve from the server per request.
	PrefetchCount   int
	AutoAck         bool
	NoLocal         bool
	NoWait          bool
	BindingOptions  *options.RabbitMQBindingOptions
	QueueOptions    *options.RabbitMQQueueOptions
	ExchangeOptions *options.RabbitMQExchangeOptions
}

func NewDefaultRabbitMQConsumerConfiguration

func NewDefaultRabbitMQConsumerConfiguration(
	messageType types2.IMessage,
) *RabbitMQConsumerConfiguration

type RabbitMQConsumerConfigurationBuilder

type RabbitMQConsumerConfigurationBuilder interface {
	WithHandlers(
		consumerBuilderFunc messageConsumer.ConsumerHandlerConfigurationBuilderFunc,
	) RabbitMQConsumerConfigurationBuilder
	WIthPipelines(
		pipelineBuilderFunc pipeline.ConsumerPipelineConfigurationBuilderFunc,
	) RabbitMQConsumerConfigurationBuilder
	WithExitOnError(exitOnError bool) RabbitMQConsumerConfigurationBuilder
	WithAutoAck(ack bool) RabbitMQConsumerConfigurationBuilder
	WithNoLocal(noLocal bool) RabbitMQConsumerConfigurationBuilder
	WithNoWait(noWait bool) RabbitMQConsumerConfigurationBuilder
	WithConcurrencyLimit(limit int) RabbitMQConsumerConfigurationBuilder
	WithPrefetchCount(count int) RabbitMQConsumerConfigurationBuilder
	WithConsumerId(consumerId string) RabbitMQConsumerConfigurationBuilder
	WithQueueName(queueName string) RabbitMQConsumerConfigurationBuilder
	WithDurable(durable bool) RabbitMQConsumerConfigurationBuilder
	WithAutoDeleteQueue(autoDelete bool) RabbitMQConsumerConfigurationBuilder
	WithExclusiveQueue(exclusive bool) RabbitMQConsumerConfigurationBuilder
	WithQueueArgs(args map[string]any) RabbitMQConsumerConfigurationBuilder
	WithExchangeName(exchangeName string) RabbitMQConsumerConfigurationBuilder
	WithAutoDeleteExchange(autoDelete bool) RabbitMQConsumerConfigurationBuilder
	WithExchangeType(exchangeType types.ExchangeType) RabbitMQConsumerConfigurationBuilder
	WithExchangeArgs(args map[string]any) RabbitMQConsumerConfigurationBuilder
	WithRoutingKey(routingKey string) RabbitMQConsumerConfigurationBuilder
	WithBindingArgs(args map[string]any) RabbitMQConsumerConfigurationBuilder
	WithName(name string) RabbitMQConsumerConfigurationBuilder
	Build() *RabbitMQConsumerConfiguration
}

func NewRabbitMQConsumerConfigurationBuilder

func NewRabbitMQConsumerConfigurationBuilder(
	messageType types2.IMessage,
) RabbitMQConsumerConfigurationBuilder

type RabbitMQConsumerConfigurationBuilderFuc

type RabbitMQConsumerConfigurationBuilderFuc func(builder RabbitMQConsumerConfigurationBuilder)

type RabbitMQConsumerConnector

type RabbitMQConsumerConnector interface {
	consumer.ConsumerConnector
	// ConnectRabbitMQConsumer Add a new consumer to existing message type consumers. if there is no consumer, will create a new consumer for the message type
	ConnectRabbitMQConsumer(
		messageType types.IMessage,
		consumerBuilderFunc RabbitMQConsumerConfigurationBuilderFuc,
	) error
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL