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
Options
queue_name: The Queue queue to send to or receive from
exchange_name
: The exchange to publish the message toconsumer_tag
: The consumer taghost
: The host where the server runsport
: The port of the server (if not default)user
: Username (if required)password
: Password (if required)virtualhost
: The virtual host (if required)publishstyle
: 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)publishsubscribe
: The queue will use the publish-subscribe pattern (See http://www.rabbitmq.com/tutorials/tutorial-three-java.html)
...
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', 'LittleEndian'] ] }, nexmark:person ) /// Receive elements from bus (work queue) input = ACCESS({ transport='RabbitMQ', source= 'Receiver', wrapper='GenericPush', protocol='SimpleByteBuffer', datahandler='Tuple', options=[ ['QUEUE_NAME','nexmark'], ['CONSUMER_TAG','person'], ['HOST','localhost'], ['ByteOrder', 'LittleEndian'] ], schema=[ ['TIMESTAMP', 'STARTTIMESTAMP'], ['id', 'INTEGER'], ['name', 'STRING'], ['email', 'STRING'], ['creditcard', 'STRING'], ['city', 'STRING'], ['state', 'STRING'] ] } ) |
Publish-subscribe example
Code Block |
---|
/// Send elements to bus (publish-subscribe)
SENDER = SENDER({
transport='RabbitMQ',
wrapper='GenericPush',
protocol='SimpleByteBuffer',
datahandler='Tuple',
SINK="SENDER",
options=[
['EXCHANGE_NAME','nexmark'],
['PUBLISH_STYLE','publishsubscribe'],
['CONSUMER_TAG','person'],
['HOST','localhost'],
['ByteOrder', 'LittleEndian']
]
},
nexmark:person
)
/// Receive elements from bus (publish-subscribe)
input = ACCESS({
transport='RabbitMQ',
source= 'Receiver',
wrapper='GenericPush',
protocol='SimpleByteBuffer',
datahandler='Tuple',
options=[
['EXCHANGE_NAME','nexmark'],
['PUBLISH_STYLE','publishsubscribe'],
['CONSUMER_TAG','person'],
['HOST','localhost'],
['ByteOrder', 'LittleEndian']
],
schema=[
['TIMESTAMP', 'STARTTIMESTAMP'],
['id', 'INTEGER'],
['name', 'STRING'],
['email', 'STRING'],
['creditcard', 'STRING'],
['city', 'STRING'],
['state', 'STRING']
]
}
)
|