org.robokind.impl.messaging
Class JMSBytesRecordAsyncReceiver

java.lang.Object
  extended by org.robokind.impl.messaging.JMSBytesRecordAsyncReceiver
All Implemented Interfaces:
org.robokind.api.messaging.RecordAsyncReceiver<javax.jms.BytesMessage>

public class JMSBytesRecordAsyncReceiver
extends Object
implements org.robokind.api.messaging.RecordAsyncReceiver<javax.jms.BytesMessage>

Polls for JMS BytesMessages from a JMS Destination. Records are then sent to a RecordHandler. When this is started it creates a new Thread for a polling loop.

Author:
Matthew Stevenson

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.robokind.api.messaging.RecordAsyncReceiver
org.robokind.api.messaging.RecordAsyncReceiver.RecordHandler<T>
 
Constructor Summary
JMSBytesRecordAsyncReceiver(javax.jms.MessageConsumer consumer)
          Creates a new JMSBytesRecordAsyncReceiver.
 
Method Summary
 void pause()
           
 void resume()
           
 void setRecordHandler(org.robokind.api.messaging.RecordAsyncReceiver.RecordHandler<javax.jms.BytesMessage> handler)
           
 void start()
          Creates and starts an Polling Thread to fetch Records over JMS.
 void stop()
           
 void unsetRecordHandler()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JMSBytesRecordAsyncReceiver

public JMSBytesRecordAsyncReceiver(javax.jms.MessageConsumer consumer)
Creates a new JMSBytesRecordAsyncReceiver.

Parameters:
consumer - JMS MessageConsumer to fetch the Record
Method Detail

setRecordHandler

public void setRecordHandler(org.robokind.api.messaging.RecordAsyncReceiver.RecordHandler<javax.jms.BytesMessage> handler)
Specified by:
setRecordHandler in interface org.robokind.api.messaging.RecordAsyncReceiver<javax.jms.BytesMessage>

unsetRecordHandler

public void unsetRecordHandler()
Specified by:
unsetRecordHandler in interface org.robokind.api.messaging.RecordAsyncReceiver<javax.jms.BytesMessage>

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<javax.jms.BytesMessage>
Throws:
IllegalStateException - if RecordHandler is not set

pause

public void pause()
Specified by:
pause in interface org.robokind.api.messaging.RecordAsyncReceiver<javax.jms.BytesMessage>

resume

public void resume()
Specified by:
resume in interface org.robokind.api.messaging.RecordAsyncReceiver<javax.jms.BytesMessage>

stop

public void stop()
Specified by:
stop in interface org.robokind.api.messaging.RecordAsyncReceiver<javax.jms.BytesMessage>


Copyright © 2011-2013. All Rights Reserved.