|
||||||||||
| 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 |
AVRO_MIME_TYPE
Custom content/mime type used in the JMS header for unknown avro record |
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(org.robokind.api.messaging.services.ServiceCommandFactory factory)
|
|
void |
setCommandSender(org.robokind.api.messaging.MessageSender<org.robokind.api.messaging.services.ServiceCommand> sender)
|
|
void |
setConfigSender(org.robokind.api.messaging.MessageSender<Config> sender)
|
|
void |
setErrorReceiver(org.robokind.api.messaging.MessageAsyncReceiver<org.robokind.api.messaging.services.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 AVRO_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 org.robokind.api.messaging.services.RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>IOException
javax.jms.JMSException
Exceptionpublic boolean onStart(long time)
onStart in class org.robokind.api.common.playable.AbstractPlayablepublic boolean onPause(long time)
onPause in class org.robokind.api.common.playable.AbstractPlayablepublic boolean onResume(long time)
onResume in class org.robokind.api.common.playable.AbstractPlayablepublic boolean onComplete(long time)
onComplete in class org.robokind.api.common.playable.AbstractPlayablepublic boolean onStop(long time)
onStop in class org.robokind.api.common.playable.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(org.robokind.api.messaging.MessageSender<org.robokind.api.messaging.services.ServiceCommand> sender)
setCommandSender in interface org.robokind.api.messaging.services.RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public void setConfigSender(org.robokind.api.messaging.MessageSender<Config> sender)
setConfigSender in interface org.robokind.api.messaging.services.RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public void setErrorReceiver(org.robokind.api.messaging.MessageAsyncReceiver<org.robokind.api.messaging.services.ServiceError> receiver)
setErrorReceiver in interface org.robokind.api.messaging.services.RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public void setCommandFactory(org.robokind.api.messaging.services.ServiceCommandFactory factory)
setCommandFactory in interface org.robokind.api.messaging.services.RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public String getClientId()
getClientId in interface org.robokind.api.messaging.services.RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public String getHostId()
getHostId in interface org.robokind.api.messaging.services.RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||