|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.robokind.api.common.playable.AbstractPlayable
org.robokind.impl.messaging.JMSAvroServiceFacade<Config>
Config - type of Avro Record used to configure the servicepublic class JMSAvroServiceFacade<Config extends org.apache.avro.generic.IndexedRecord>
A facade for controlling a RemoteServiceClient using Avro and JMS (Qpid). A JMSAvroServiceFacade has a JMS MessageProducer for sending commands to the RemoteServiceClient, and a JMS MessageConsumer for receiving error messages. * (Error messages are not yet completed)
| Field Summary | |
|---|---|
static String |
COMMAND_MIME_TYPE
Custom content/mime type used in the JMS header for service command |
static String |
CONFIG_MIME_TYPE
Custom content/mime type used in the JMS header for config Records |
| Fields inherited from class org.robokind.api.common.playable.AbstractPlayable |
|---|
myElapsedPauseTime, myPauseTime, myPlayableListeners, myPlayState, myResumeTime, myStartTime, myStopTime |
| Constructor Summary | |
|---|---|
JMSAvroServiceFacade(Class<Config> configClass,
Config reusableConfig,
javax.jms.Session session,
javax.jms.Destination commandDest,
javax.jms.Destination errorDest)
Creates a new JMSAvroServiceFacade. |
|
JMSAvroServiceFacade(Class<Config> configClass,
Config reusableConfig,
javax.jms.Session session,
javax.jms.MessageProducer commandSender,
javax.jms.MessageConsumer errorReceiver)
Creates a new JMSAvroServiceFacade. |
|
| Method Summary | ||
|---|---|---|
String |
getClientId()
|
|
Class<Config> |
getConfigClass()
|
|
String |
getHostId()
|
|
Config |
getReusableConfig()
|
|
void |
initialize(Config config)
|
|
boolean |
onComplete(long time)
|
|
boolean |
onPause(long time)
|
|
boolean |
onResume(long time)
|
|
boolean |
onStart(long time)
|
|
boolean |
onStop(long time)
|
|
protected
|
send(T t,
String contentType)
Sends a custom Avro Record to the service. |
|
protected boolean |
sendCommand(String command)
Sends a service command. |
|
void |
setCommandFactory(ServiceCommandFactory factory)
|
|
void |
setCommandSender(MessageSender<ServiceCommand> sender)
|
|
void |
setConfigSender(MessageSender<Config> sender)
|
|
void |
setErrorReceiver(MessageAsyncReceiver<ServiceError> receiver)
|
|
void |
setReceiver(javax.jms.MessageConsumer consumer)
Sets the MessageConsumer to receive errors. |
|
void |
setSender(javax.jms.MessageProducer producer)
Sets the MessagePropducer to send commands. |
|
void |
setSession(javax.jms.Session session)
Sets the JMS Session for creating BytesMessages. |
|
| Methods inherited from class org.robokind.api.common.playable.AbstractPlayable |
|---|
addPlayableListener, afterComplete, complete, firePlayStateChanged, getElapsedPauseTime, getElapsedPlayTime, getPauseTime, getPlayState, getResumeTime, getStartTime, getStopTime, pause, removePlayableListener, resume, start, stop |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.robokind.api.common.playable.Playable |
|---|
addPlayableListener, complete, getElapsedPauseTime, getElapsedPlayTime, getPauseTime, getPlayState, getResumeTime, getStartTime, getStopTime, pause, removePlayableListener, resume, start, stop |
| Field Detail |
|---|
public static final String CONFIG_MIME_TYPE
public static final String COMMAND_MIME_TYPE
| Constructor Detail |
|---|
public JMSAvroServiceFacade(Class<Config> configClass,
Config reusableConfig,
javax.jms.Session session,
javax.jms.Destination commandDest,
javax.jms.Destination errorDest)
throws javax.jms.JMSException
configClass - class of the config recordreusableConfig - reusable instance of the configsession - JMS session for sending RecordscommandDest - JMS destination for commandserrorDest - JMS destination for errors
javax.jms.JMSException - if there is an error creating producers and
consumers
public JMSAvroServiceFacade(Class<Config> configClass,
Config reusableConfig,
javax.jms.Session session,
javax.jms.MessageProducer commandSender,
javax.jms.MessageConsumer errorReceiver)
configClass - class of the config recordreusableConfig - reusable instance of the configsession - JMS session for sending RecordscommandSender - MessagePropducer to send commandserrorReceiver - MessageConsumer to receive errors| Method Detail |
|---|
public void setSession(javax.jms.Session session)
session - JMS Session to usepublic void setSender(javax.jms.MessageProducer producer)
producer - MessageProducer to usepublic void setReceiver(javax.jms.MessageConsumer consumer)
consumer - MessageConsumer to set
public void initialize(Config config)
throws IOException,
javax.jms.JMSException,
Exception
initialize in interface RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>IOException
javax.jms.JMSException
Exceptionpublic boolean onStart(long time)
onStart in class AbstractPlayablepublic boolean onPause(long time)
onPause in class AbstractPlayablepublic boolean onResume(long time)
onResume in class AbstractPlayablepublic boolean onComplete(long time)
onComplete in class AbstractPlayablepublic boolean onStop(long time)
onStop in class AbstractPlayable
protected <T extends org.apache.avro.generic.IndexedRecord> void send(T t,
String contentType)
throws IOException,
javax.jms.JMSException
T - type of Avro Record to sendt - the Record to sendcontentType - optional content type for the JMS header
IOException - on errors packing the Record into a JMS BytesMessage
javax.jms.JMSException - on errors sending the Recordprotected boolean sendCommand(String command)
command - command to send
public Class<Config> getConfigClass()
public Config getReusableConfig()
public void setCommandSender(MessageSender<ServiceCommand> sender)
setCommandSender in interface RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public void setConfigSender(MessageSender<Config> sender)
setConfigSender in interface RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public void setErrorReceiver(MessageAsyncReceiver<ServiceError> receiver)
setErrorReceiver in interface RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public void setCommandFactory(ServiceCommandFactory factory)
setCommandFactory in interface RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public String getClientId()
getClientId in interface RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public String getHostId()
getHostId in interface RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||