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 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)username
: Username (if required)password
: Password (if required)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)publishsubscribe
: The queue will use the publish-subscribe pattern (See http://www.rabbitmq.com/tutorials/tutorial-three-java.html)
Work queue example
/// 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
/// 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'] ] } )