Class JmsOutputChannel

java.lang.Object
org.apache.uima.adapter.jms.activemq.JmsOutputChannel
All Implemented Interfaces:
Channel, OutputChannel

public class JmsOutputChannel extends Object implements OutputChannel
  • Constructor Details

    • JmsOutputChannel

      public JmsOutputChannel()
  • Method Details

    • setServerURI

      public void setServerURI(String aServerURI)
      Sets the ActiveMQ Broker URI
      Specified by:
      setServerURI in interface OutputChannel
    • setFreeCasQueue

      protected void setFreeCasQueue(javax.jms.Destination destination)
    • getServerURI

      public String getServerURI()
    • getName

      public String getName()
      Specified by:
      getName in interface Channel
    • setConnectionFactory

      public void setConnectionFactory(org.apache.activemq.ActiveMQConnectionFactory connectionFactory)
      Parameters:
      connectionFactory -
    • setServiceInputEndpoint

      public void setServiceInputEndpoint(String anEnpoint)
    • setSecondaryInputQueue

      public void setSecondaryInputQueue(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 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 serialize
      aSerializerKey - - a key identifying which serializer to use
      Returns:
      - String - serialized CAS as String
      Throws:
      Exception
    • bindWithClientEndpoint

      public void bindWithClientEndpoint(Endpoint anEndpoint) throws 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:
      Exception
    • sendRequest

      public void sendRequest(int aCommand, 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, String aCasReferenceId, boolean notifyOnJmsException) throws AsynchAEException
      Specified by:
      sendReply in interface OutputChannel
      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:
      sendReply in interface OutputChannel
      Parameters:
      t - - Throwable to include in the reply message
      anEndpoint - - an endpoint to receive the reply message
      aCasReferenceId - - 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 String getControllerInputEndpoint()
    • setControllerInputEndpoint

      public void setControllerInputEndpoint(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