Class EndpointMessageListener

  • All Implemented Interfaces:
    SessionMessageListener

    public class EndpointMessageListener
    extends Object
    implements SessionMessageListener
    A JMS MessageListener which can be used to delegate processing to a Camel endpoint. Note that instance of this object has to be thread safe (reentrant)
    • Constructor Detail

      • EndpointMessageListener

        public EndpointMessageListener​(SjmsConsumer consumer,
                                       SjmsEndpoint endpoint,
                                       org.apache.camel.Processor processor)
    • Method Detail

      • setTemplate

        public void setTemplate​(SjmsTemplate template)
      • getReplyToDestination

        public Object getReplyToDestination()
      • setReplyToDestination

        public void setReplyToDestination​(Object replyToDestination)
      • isDisableReplyTo

        public boolean isDisableReplyTo()
      • setDisableReplyTo

        public void setDisableReplyTo​(boolean disableReplyTo)
      • isAsync

        public boolean isAsync()
      • setAsync

        public void setAsync​(boolean async)
      • isEagerLoadingOfProperties

        public boolean isEagerLoadingOfProperties()
      • setEagerLoadingOfProperties

        public void setEagerLoadingOfProperties​(boolean eagerLoadingOfProperties)
      • getEagerPoisonBody

        public String getEagerPoisonBody()
      • setEagerPoisonBody

        public void setEagerPoisonBody​(String eagerPoisonBody)
      • onMessage

        public void onMessage​(javax.jms.Message message,
                              javax.jms.Session session)
        Specified by:
        onMessage in interface SessionMessageListener
      • getReplyToDestination

        protected Object getReplyToDestination​(javax.jms.Message message)
      • createExchange

        public org.apache.camel.Exchange createExchange​(javax.jms.Message message,
                                                        javax.jms.Session session,
                                                        Object replyDestination)
      • sendReply

        protected void sendReply​(javax.jms.Session session,
                                 javax.jms.Destination replyDestination,
                                 javax.jms.Message message,
                                 org.apache.camel.Exchange exchange,
                                 org.apache.camel.Message out,
                                 Exception cause)
      • sendReply

        protected void sendReply​(javax.jms.Session session,
                                 String replyDestination,
                                 javax.jms.Message message,
                                 org.apache.camel.Exchange exchange,
                                 org.apache.camel.Message out,
                                 Exception cause)
      • determineCorrelationId

        protected String determineCorrelationId​(javax.jms.Message message)
                                         throws javax.jms.JMSException
        Strategy to determine which correlation id to use among JMSMessageID and JMSCorrelationID.
        Parameters:
        message - the JMS message
        Returns:
        the correlation id to use
        Throws:
        javax.jms.JMSException - can be thrown
      • close

        protected static void close​(javax.jms.MessageProducer producer)