org.apache.uima.adapter.jms.activemq
Class JmsOutputChannel
java.lang.Object
org.apache.uima.adapter.jms.activemq.JmsOutputChannel
- All Implemented Interfaces:
- Channel, OutputChannel
public class JmsOutputChannel
- extends java.lang.Object
- implements OutputChannel
Method Summary |
void |
bindWithClientEndpoint(Endpoint anEndpoint)
This method verifies that the destination (queue) exists. |
void |
cancelTimers()
|
AnalysisEngineController |
getAnalysisEngineController()
|
org.apache.activemq.ActiveMQConnectionFactory |
getConnectionFactory()
|
java.lang.String |
getControllerInputEndpoint()
|
java.lang.String |
getName()
|
java.lang.String |
getServerURI()
|
void |
initialize()
|
void |
sendReply(InProcessCache.CacheEntry entry,
Endpoint anEndpoint)
|
void |
sendReply(int aCommand,
Endpoint anEndpoint,
java.lang.String aCasReferenceId,
boolean notifyOnJmsException)
|
void |
sendReply(org.apache.uima.resource.metadata.ProcessingResourceMetaData aProcessingResourceMetadata,
Endpoint anEndpoint,
boolean serialize)
|
void |
sendReply(java.lang.Throwable t,
java.lang.String aCasReferenceId,
java.lang.String aParentCasReferenceId,
Endpoint anEndpoint,
int aCommand)
Sends JMS Reply Message to a given endpoint. |
void |
sendRequest(int aCommand,
java.lang.String aCasReferenceId,
Endpoint anEndpoint)
Sends request message to a delegate. |
java.lang.String |
serializeCAS(boolean isReply,
org.apache.uima.cas.CAS aCAS,
java.lang.String aCasReferenceId,
java.lang.String aSerializerKey)
Serializes CAS using indicated Serializer. |
void |
setConnectionFactory(org.apache.activemq.ActiveMQConnectionFactory connectionFactory)
|
void |
setController(AnalysisEngineController analysisEngineController)
|
void |
setControllerInputEndpoint(java.lang.String controllerInputEndpoint)
|
protected void |
setFreeCasQueue(javax.jms.Destination destination)
|
void |
setSecondaryInputQueue(java.lang.String anEndpoint)
|
void |
setServerURI(java.lang.String aServerURI)
Sets the ActiveMQ Broker URI |
void |
setServiceInputEndpoint(java.lang.String anEnpoint)
|
void |
stop()
|
void |
stop(int channelsToClose)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JmsOutputChannel
public JmsOutputChannel()
setServerURI
public void setServerURI(java.lang.String aServerURI)
- Sets the ActiveMQ Broker URI
- Specified by:
setServerURI
in interface OutputChannel
setFreeCasQueue
protected void setFreeCasQueue(javax.jms.Destination destination)
getServerURI
public java.lang.String getServerURI()
getName
public java.lang.String getName()
- Specified by:
getName
in interface Channel
setConnectionFactory
public void setConnectionFactory(org.apache.activemq.ActiveMQConnectionFactory connectionFactory)
- Parameters:
connectionFactory
-
setServiceInputEndpoint
public void setServiceInputEndpoint(java.lang.String anEnpoint)
setSecondaryInputQueue
public void setSecondaryInputQueue(java.lang.String anEndpoint)
getConnectionFactory
public org.apache.activemq.ActiveMQConnectionFactory getConnectionFactory()
initialize
public void initialize()
throws AsynchAEException
- Specified by:
initialize
in interface OutputChannel
- Throws:
AsynchAEException
serializeCAS
public java.lang.String serializeCAS(boolean isReply,
org.apache.uima.cas.CAS aCAS,
java.lang.String aCasReferenceId,
java.lang.String aSerializerKey)
throws java.lang.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:
java.lang.Exception
bindWithClientEndpoint
public void bindWithClientEndpoint(Endpoint anEndpoint)
throws java.lang.Exception
- 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:
bindWithClientEndpoint
in interface OutputChannel
- Throws:
java.lang.Exception
sendRequest
public void sendRequest(int aCommand,
java.lang.String aCasReferenceId,
Endpoint anEndpoint)
throws AsynchAEException
- Sends request message to a delegate.
- Specified by:
sendRequest
in interface OutputChannel
- 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:
sendReply
in interface OutputChannel
- Throws:
AsynchAEException
sendReply
public void sendReply(int aCommand,
Endpoint anEndpoint,
java.lang.String aCasReferenceId,
boolean notifyOnJmsException)
throws AsynchAEException
- Specified by:
sendReply
in interface OutputChannel
- Throws:
AsynchAEException
sendReply
public void sendReply(java.lang.Throwable t,
java.lang.String aCasReferenceId,
java.lang.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:
sendReply
in interface OutputChannel
- 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:
sendReply
in interface OutputChannel
- Parameters:
aProcessingResourceMetadata
- anEndpoint
- serialize
-
- Throws:
AsynchAEException
getAnalysisEngineController
public AnalysisEngineController getAnalysisEngineController()
setController
public void setController(AnalysisEngineController analysisEngineController)
- Specified by:
setController
in interface OutputChannel
getControllerInputEndpoint
public java.lang.String getControllerInputEndpoint()
setControllerInputEndpoint
public void setControllerInputEndpoint(java.lang.String controllerInputEndpoint)
stop
public void stop()
- Specified by:
stop
in interface Channel
- Specified by:
stop
in interface OutputChannel
stop
public void stop(int channelsToClose)
- Specified by:
stop
in interface Channel
cancelTimers
public void cancelTimers()
- Specified by:
cancelTimers
in interface OutputChannel
Copyright © 2011. All Rights Reserved.