Class EndpointMessageListener

  • All Implemented Interfaces:
    org.springframework.jms.listener.SessionAwareMessageListener

    public class EndpointMessageListener
    extends Object
    implements org.springframework.jms.listener.SessionAwareMessageListener
    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​(JmsConsumer consumer,
                                       JmsEndpoint endpoint,
                                       org.apache.camel.Processor processor)
    • Method Detail

      • onMessage

        public void onMessage​(javax.jms.Message message,
                              javax.jms.Session session)
                       throws javax.jms.JMSException
        Specified by:
        onMessage in interface org.springframework.jms.listener.SessionAwareMessageListener
        Throws:
        javax.jms.JMSException
      • createExchange

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

        public void setBinding​(JmsBinding binding)
        Sets the binding used to convert from a Camel message to and from a JMS message
        Parameters:
        binding - the binding to use
      • isEagerLoadingOfProperties

        public boolean isEagerLoadingOfProperties()
      • setEagerLoadingOfProperties

        public void setEagerLoadingOfProperties​(boolean eagerLoadingOfProperties)
      • getEagerPoisonBody

        public String getEagerPoisonBody()
      • setEagerPoisonBody

        public void setEagerPoisonBody​(String eagerPoisonBody)
      • getTemplate

        public org.springframework.jms.core.JmsOperations getTemplate()
      • setTemplate

        public void setTemplate​(org.springframework.jms.core.JmsOperations template)
      • isDisableReplyTo

        public boolean isDisableReplyTo()
      • setDisableReplyTo

        public void setDisableReplyTo​(boolean disableReplyTo)
        Allows the reply-to behaviour to be disabled
      • getReplyToDestination

        public Object getReplyToDestination()
      • setReplyToDestination

        public void setReplyToDestination​(Object replyToDestination)
        Provides an explicit reply to destination which overrides any incoming value of Message.getJMSReplyTo()
        Parameters:
        replyToDestination - the destination that should be used to send replies to as either a String or Destination type.
      • isAsync

        public boolean isAsync()
      • setAsync

        public void setAsync​(boolean async)
        Sets whether asynchronous routing is enabled.

        By default this is false. If configured as true then this listener will process the Exchange asynchronous.

      • 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
      • sendReply

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

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

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