RMQReceiver is a JMS message producer that listens to a RabbitMQ queue. It receives messages from the queue and puts them to an internal XQueue as the output. RMQReceiver supports all exchange types. The only operation, get, is supported. It also supports flow control and XA. Fault tolerance with auto reconnections is built in.
Apart from the common properties, there are many implementation specific properties for RMQReceiver.
Property Name | Data Type | Requirement | Description | Examples |
---|---|---|---|---|
ExchangeName | string | optional | name of the exchange | video |
ExchangeType | string | optional | type of the exchange | topic (default: direct) |
QueueName | string | optional | queue | dam_in |
RoutingKey | string or list | optional | routing keys for binding to the queue | test |
IsPassive | string | optional | check before declaring | false (default: true) |
IsDurable | string | optional | if durable on creaions | true (default: false) |
AutoDelete | string | optional | if to set auto delete on exchange or queue | true (default: false) |
Priority | integer of 0-9 | optional | new priority to set on messages | 5 (default: no change) |
Persistence | integer of 1,2 | optional | new persistence to set on messages | 2 (default: no change) |
Expiry | integer | optional | milliseconds to add to message's expiration time | 60000 (default: no change) |
Here is an example of RMQReceiver:
{ "Name": "rcvr_rmq", "ClassName": "org.qbroker.receiver.RMQReceiver", "URI": "amqp://broker1/", "QueueName": "QB_IN", "Operation": "get", "Username": "guest", "Password": "xxxx", "ExchangeType": "direct", "IsPassive": "true", "IsDurable": "true", "AutoDelete": "false", "LinkName": "root", "Mode": "daemon", "XAMode": "1", "TextMode": "1", "Tolerance": "0", "MaxRetry": "2", "DisplayMask": "18", "StringProperty": { "Hostname": "broker1", } }