|
||||||||||
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
consumerspublic 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 errorsMethod 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 setpublic 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
Exception
public boolean onStart(long time)
onStart
in class org.robokind.api.common.playable.AbstractPlayable
public boolean onPause(long time)
onPause
in class org.robokind.api.common.playable.AbstractPlayable
public boolean onResume(long time)
onResume
in class org.robokind.api.common.playable.AbstractPlayable
public boolean onComplete(long time)
onComplete
in class org.robokind.api.common.playable.AbstractPlayable
public 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 |