org.robokind.impl.messaging
Class JMSAvroRecordAsyncReceiver<Rec extends org.apache.avro.generic.IndexedRecord>
java.lang.Object
org.robokind.impl.messaging.JMSAvroRecordAsyncReceiver<Rec>
- Type Parameters:
Rec
- type of AvroRecord to receive
- All Implemented Interfaces:
- org.robokind.api.messaging.RecordAsyncReceiver<Rec>
public class JMSAvroRecordAsyncReceiver<Rec extends org.apache.avro.generic.IndexedRecord>
- extends Object
- implements org.robokind.api.messaging.RecordAsyncReceiver<Rec>
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.RecordAsyncReceiver |
org.robokind.api.messaging.RecordAsyncReceiver.RecordHandler<T> |
Constructor Summary |
JMSAvroRecordAsyncReceiver(Class<Rec> clazz,
org.apache.avro.Schema schema,
javax.jms.MessageConsumer consumer)
Creates a new JMSAvroRecordAsyncReceiver. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JMSAvroRecordAsyncReceiver
public JMSAvroRecordAsyncReceiver(Class<Rec> clazz,
org.apache.avro.Schema schema,
javax.jms.MessageConsumer consumer)
- Creates a new JMSAvroRecordAsyncReceiver.
- 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.RecordAsyncReceiver.RecordHandler<Rec> handler)
- Specified by:
setRecordHandler
in interface org.robokind.api.messaging.RecordAsyncReceiver<Rec extends org.apache.avro.generic.IndexedRecord>
unsetRecordHandler
public void unsetRecordHandler()
- Specified by:
unsetRecordHandler
in interface org.robokind.api.messaging.RecordAsyncReceiver<Rec 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.RecordAsyncReceiver<Rec 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.RecordAsyncReceiver<Rec extends org.apache.avro.generic.IndexedRecord>
resume
public void resume()
- Specified by:
resume
in interface org.robokind.api.messaging.RecordAsyncReceiver<Rec extends org.apache.avro.generic.IndexedRecord>
stop
public void stop()
- Specified by:
stop
in interface org.robokind.api.messaging.RecordAsyncReceiver<Rec extends org.apache.avro.generic.IndexedRecord>
Copyright © 2011-2013. All Rights Reserved.