Config - type of Avro Record used to configure the servicepublic class JMSAvroServiceFacade<Config extends org.apache.avro.generic.IndexedRecord> extends AbstractPlayable implements RemoteServiceClient<Config>
| Modifier and Type | Field and Description |
|---|---|
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
|
myElapsedPauseTime, myPauseTime, myPlayableListeners, myPlayState, myResumeTime, myStartTime, myStopTime| Constructor and Description |
|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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 <T extends org.apache.avro.generic.IndexedRecord> |
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(org.jflux.api.messaging.rk.MessageSender<ServiceCommand> sender) |
void |
setConfigSender(org.jflux.api.messaging.rk.MessageSender<Config> sender) |
void |
setErrorReceiver(org.jflux.api.messaging.rk.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.
|
addPlayableListener, afterComplete, complete, firePlayStateChanged, getElapsedPauseTime, getElapsedPlayTime, getPauseTime, getPlayState, getResumeTime, getStartTime, getStopTime, pause, removePlayableListener, resume, start, stopclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddPlayableListener, complete, getElapsedPauseTime, getElapsedPlayTime, getPauseTime, getPlayState, getResumeTime, getStartTime, getStopTime, pause, removePlayableListener, resume, start, stoppublic static final String CONFIG_MIME_TYPE
public static final String AVRO_MIME_TYPE
public static final String COMMAND_MIME_TYPE
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 errorsjavax.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 errorspublic 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 RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>IOExceptionjavax.jms.JMSExceptionExceptionpublic 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 AbstractPlayableprotected <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 headerIOException - on errors packing the Record into a JMS BytesMessagejavax.jms.JMSException - on errors sending the Recordprotected boolean sendCommand(String command)
command - command to sendpublic Config getReusableConfig()
public void setCommandSender(org.jflux.api.messaging.rk.MessageSender<ServiceCommand> sender)
setCommandSender in interface RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public void setConfigSender(org.jflux.api.messaging.rk.MessageSender<Config> sender)
setConfigSender in interface RemoteServiceClient<Config extends org.apache.avro.generic.IndexedRecord>public void setErrorReceiver(org.jflux.api.messaging.rk.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>Copyright © 2011-2014. All Rights Reserved.