org.robokind.impl.messaging
Class JMSRecordReceiver<T extends org.apache.avro.generic.IndexedRecord>
java.lang.Object
org.robokind.impl.messaging.JMSRecordReceiver<T>
- All Implemented Interfaces:
- org.robokind.api.messaging.RecordReceiver<T>
public class JMSRecordReceiver<T extends org.apache.avro.generic.IndexedRecord>
- extends Object
- implements org.robokind.api.messaging.RecordReceiver<T>
Polls messages from a JMS Destination and attempts to deserialize them as a
specific type of Avro Record. Records are then sent to a RecordHandler.
When this is started it creates a new Thread for a polling loop.
- Author:
- Matthew Stevenson
Nested classes/interfaces inherited from interface org.robokind.api.messaging.RecordReceiver |
org.robokind.api.messaging.RecordReceiver.RecordHandler<T> |
Constructor Summary |
JMSRecordReceiver(Class<T> clazz,
org.apache.avro.Schema schema,
javax.jms.MessageConsumer consumer)
Creates a new JMSRecordReceiver. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JMSRecordReceiver
public JMSRecordReceiver(Class<T> clazz,
org.apache.avro.Schema schema,
javax.jms.MessageConsumer consumer)
- Creates a new JMSRecordReceiver.
- Parameters:
clazz
- Class of the Avro Record being receivedschema
- Avro Schema or the Record being receivedconsumer
- JMS MessageConsumer to fetch the Record
setRecordHandler
public void setRecordHandler(org.robokind.api.messaging.RecordReceiver.RecordHandler<T> handler)
- Specified by:
setRecordHandler
in interface org.robokind.api.messaging.RecordReceiver<T extends org.apache.avro.generic.IndexedRecord>
unsetRecordHandler
public void unsetRecordHandler()
- Specified by:
unsetRecordHandler
in interface org.robokind.api.messaging.RecordReceiver<T extends org.apache.avro.generic.IndexedRecord>
start
public void start()
throws IllegalStateException
- Creates and starts an Polling Thread to fetch Records over JMS.
- Specified by:
start
in interface org.robokind.api.messaging.RecordReceiver<T extends org.apache.avro.generic.IndexedRecord>
- Throws:
IllegalStateException
- if RecordHandler is not set
pause
public void pause()
- Specified by:
pause
in interface org.robokind.api.messaging.RecordReceiver<T extends org.apache.avro.generic.IndexedRecord>
resume
public void resume()
- Specified by:
resume
in interface org.robokind.api.messaging.RecordReceiver<T extends org.apache.avro.generic.IndexedRecord>
stop
public void stop()
- Specified by:
stop
in interface org.robokind.api.messaging.RecordReceiver<T extends org.apache.avro.generic.IndexedRecord>
Copyright © 2011. All Rights Reserved.