...
This transport handler allow to send and receive object via the AQMP protocol, implemented with RabbitMQ (see http://www.rabbitmq.com/). Further parameter information can be found here: http://www.rabbitmq.com/api-guide.html
Remark: In an older version, there was a publish_style.
This will be ignored in future versions.
Options
queue_name:
The queue to send to or receive fromexchange_name:
The exchange to publish the message toconsumer_tag:
The consumer taghost:
The host where the server runs
The port of the server (if not default)port
:
Username (if required)username
:
Password (if required)password
:virtualhost
: The virtual host (if required)publish_style
: Specifies how messages will be sent (default:workqueue)
workqueue
: The queue will work as a work queue (See http://www.rabbitmq.com/tutorials/tutorial-two-java.html)durable (true / false)
- exclusive (true / false)
- auto_delete (true / false)
publishsubscribe
: The queue will use the publish-subscribe pattern (See http://www.rabbitmq.com/tutorials/tutorial-three-java.html)
In addition, arbitrary options can bedefined. They need to start with the prefix "rabbit."
which will be removed in the actual argument. Example:
['rabbit.x-message-ttl',1000]
will be the argument 'x-message-ttl'
with the long value '1000'
.
Work queue example
Code Block |
---|
/// Send elements to bus (work queue)
SENDER = SENDER({
transport='RabbitMQ',
wrapper='GenericPush',
protocol='SimpleByteBuffer',
datahandler='Tuple',
SINK="SENDER",
options=[
['QUEUE_NAME','nexmark'],
['CONSUMER_TAG','person'],
['HOST','localhost'],
['ByteOrder', 'Little_Endian']
]
},
nexmark:person
)
/// Receive elements from bus (work queue)
input = ACCESS({
transport='RabbitMQ',
source= 'Receiver',
wrapper='GenericPush',
protocol='SimpleByteBuffer',
datahandler='Tuple',
options=[
['PUBLISH_STYLE','workqueue'],
['QUEUE_NAME','nexmark'],
['CONSUMER_TAG','person'],
['HOST','localhost'],
['ByteOrder', 'Little_Endian'],
['durable',true],
['exclusive',false],
['auto_delete',false],
['rabbit.x-message-ttl',1000]
],
schema=[
['TIMESTAMP', 'STARTTIMESTAMP'],
['id', 'INTEGER'],
['name', 'STRING'],
['email', 'STRING'],
['creditcard', 'STRING'],
['city', 'STRING'],
['state', 'STRING']
]
}
)
|
Publish-subscribe example
...