Class JmsOutputChannel
java.lang.Object
org.apache.uima.adapter.jms.activemq.JmsOutputChannel
- All Implemented Interfaces:
Channel,OutputChannel
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classprotected class -
Field Summary
Fields inherited from interface org.apache.uima.aae.Channel
CloseAllChannels, InputChannels -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbindWithClientEndpoint(Endpoint anEndpoint) This method verifies that the destination (queue) exists.voidorg.apache.activemq.ActiveMQConnectionFactorygetName()voidvoidvoidsendReply(Throwable t, String aCasReferenceId, String aParentCasReferenceId, Endpoint anEndpoint, int aCommand) Sends JMS Reply Message to a given endpoint.voidsendReply(InProcessCache.CacheEntry entry, Endpoint anEndpoint) voidsendReply(org.apache.uima.resource.metadata.ProcessingResourceMetaData aProcessingResourceMetadata, Endpoint anEndpoint, boolean serialize) voidsendRequest(int aCommand, String aCasReferenceId, Endpoint anEndpoint) Sends request message to a delegate.serializeCAS(boolean isReply, org.apache.uima.cas.CAS aCAS, String aCasReferenceId, String aSerializerKey) Serializes CAS using indicated Serializer.voidsetConnectionFactory(org.apache.activemq.ActiveMQConnectionFactory connectionFactory) voidsetController(AnalysisEngineController analysisEngineController) voidsetControllerInputEndpoint(String controllerInputEndpoint) protected voidsetFreeCasQueue(javax.jms.Destination destination) voidsetSecondaryInputQueue(String anEndpoint) voidsetServerURI(String aServerURI) Sets the ActiveMQ Broker URIvoidsetServiceInputEndpoint(String anEnpoint) voidstop()voidstop(int channelsToClose)
-
Constructor Details
-
JmsOutputChannel
public JmsOutputChannel()
-
-
Method Details
-
setServerURI
Sets the ActiveMQ Broker URI- Specified by:
setServerURIin interfaceOutputChannel
-
setFreeCasQueue
protected void setFreeCasQueue(javax.jms.Destination destination) -
getServerURI
-
getName
-
setConnectionFactory
public void setConnectionFactory(org.apache.activemq.ActiveMQConnectionFactory connectionFactory) - Parameters:
connectionFactory-
-
setServiceInputEndpoint
-
setSecondaryInputQueue
-
getConnectionFactory
public org.apache.activemq.ActiveMQConnectionFactory getConnectionFactory() -
initialize
- Specified by:
initializein interfaceOutputChannel- Throws:
AsynchAEException
-
serializeCAS
public String serializeCAS(boolean isReply, org.apache.uima.cas.CAS aCAS, String aCasReferenceId, String aSerializerKey) throws Exception Serializes CAS using indicated Serializer.- Parameters:
aCAS- - CAS instance to serializeaSerializerKey- - a key identifying which serializer to use- Returns:
- - String - serialized CAS as String
- Throws:
Exception
-
bindWithClientEndpoint
This method verifies that the destination (queue) exists. It opens a connection the a broker, creates a session and a message producer. Finally, using the message producer, sends an empty message to a queue. This API support enables checking for existence of the reply (temp) queue before any processing of a cas is done. This is an optimization to prevent expensive processing if the client destination is no longer available.- Specified by:
bindWithClientEndpointin interfaceOutputChannel- Throws:
Exception
-
sendRequest
public void sendRequest(int aCommand, String aCasReferenceId, Endpoint anEndpoint) throws AsynchAEException Sends request message to a delegate.- Specified by:
sendRequestin interfaceOutputChannel- Parameters:
aCommand- - the type of request [Process|GetMeta]anEndpoint- - the destination where the delegate receives messages- Throws:
AsynchAEException
-
sendReply
public void sendReply(InProcessCache.CacheEntry entry, Endpoint anEndpoint) throws AsynchAEException - Specified by:
sendReplyin interfaceOutputChannel- Throws:
AsynchAEException
-
sendReply
public void sendReply(int aCommand, Endpoint anEndpoint, String aCasReferenceId, boolean notifyOnJmsException) throws AsynchAEException - Specified by:
sendReplyin interfaceOutputChannel- Throws:
AsynchAEException
-
sendReply
public void sendReply(Throwable t, String aCasReferenceId, String aParentCasReferenceId, Endpoint anEndpoint, int aCommand) throws AsynchAEException Sends JMS Reply Message to a given endpoint. The reply message contains given Throwable (with full stack)- Specified by:
sendReplyin interfaceOutputChannel- Parameters:
t- - Throwable to include in the reply messageanEndpoint- - an endpoint to receive the reply messageaCasReferenceId- - a unique CAS reference id- Throws:
AsynchAEException
-
sendReply
public void sendReply(org.apache.uima.resource.metadata.ProcessingResourceMetaData aProcessingResourceMetadata, Endpoint anEndpoint, boolean serialize) throws AsynchAEException - Specified by:
sendReplyin interfaceOutputChannel- Parameters:
aProcessingResourceMetadata-anEndpoint-serialize-- Throws:
AsynchAEException
-
getAnalysisEngineController
-
setController
- Specified by:
setControllerin interfaceOutputChannel
-
getControllerInputEndpoint
-
setControllerInputEndpoint
-
stop
public void stop()- Specified by:
stopin interfaceChannel- Specified by:
stopin interfaceOutputChannel
-
stop
public void stop(int channelsToClose) -
cancelTimers
public void cancelTimers()- Specified by:
cancelTimersin interfaceOutputChannel
-