Class JmsProducer

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.AsyncProcessor, org.apache.camel.AsyncProducer, org.apache.camel.EndpointAware, org.apache.camel.IsSingleton, org.apache.camel.Processor, org.apache.camel.Producer, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

    public class JmsProducer
    extends org.apache.camel.support.DefaultAsyncProducer
    • Field Summary

      • Fields inherited from class org.apache.camel.support.service.BaseService

        BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected ReplyManager createReplyManager()  
      protected ReplyManager createReplyManager​(String replyTo)  
      protected String determineCorrelationId​(javax.jms.Message message, String provisionalCorrelationId)
      Strategy to determine which correlation id to use among JMSMessageID and JMSCorrelationID.
      protected void doSend​(boolean inOut, String destinationName, javax.jms.Destination destination, org.springframework.jms.core.MessageCreator messageCreator, MessageSentCallback callback)
      Sends the message using the JmsTemplate.
      protected void doStart()  
      protected void doStop()  
      JmsEndpoint getEndpoint()  
      org.springframework.jms.core.JmsOperations getInOnlyTemplate()  
      org.springframework.jms.core.JmsOperations getInOutTemplate()  
      org.apache.camel.spi.UuidGenerator getUuidGenerator()  
      protected void initReplyManager()  
      boolean process​(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)  
      protected boolean processInOnly​(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)  
      protected boolean processInOut​(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)  
      protected javax.jms.Destination resolveOrCreateDestination​(String destinationName, javax.jms.Session session)  
      void setInOnlyTemplate​(org.springframework.jms.core.JmsOperations inOnlyTemplate)  
      void setInOutTemplate​(org.springframework.jms.core.JmsOperations inOutTemplate)  
      protected void setMessageId​(org.apache.camel.Exchange exchange)  
      void setUuidGenerator​(org.apache.camel.spi.UuidGenerator uuidGenerator)  
      protected void testConnectionOnStartup()
      Pre tests the connection before starting the listening.
      protected void unInitReplyManager()  
      • Methods inherited from class org.apache.camel.support.DefaultAsyncProducer

        process, processAsync
      • Methods inherited from class org.apache.camel.support.DefaultProducer

        createExchange, isSingleton, toString
      • Methods inherited from class org.apache.camel.support.service.BaseService

        build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
      • Methods inherited from interface org.apache.camel.IsSingleton

        isSingleton
      • Methods inherited from interface org.apache.camel.Service

        build, close, init, start, stop
      • Methods inherited from interface org.apache.camel.ShutdownableService

        shutdown
      • Methods inherited from interface org.apache.camel.StatefulService

        getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
      • Methods inherited from interface org.apache.camel.SuspendableService

        isSuspended, resume, suspend
    • Constructor Detail

      • JmsProducer

        public JmsProducer​(JmsEndpoint endpoint)
    • Method Detail

      • getEndpoint

        public JmsEndpoint getEndpoint()
        Specified by:
        getEndpoint in interface org.apache.camel.EndpointAware
        Overrides:
        getEndpoint in class org.apache.camel.support.DefaultProducer
      • initReplyManager

        protected void initReplyManager()
      • unInitReplyManager

        protected void unInitReplyManager()
      • process

        public boolean process​(org.apache.camel.Exchange exchange,
                               org.apache.camel.AsyncCallback callback)
      • processInOut

        protected boolean processInOut​(org.apache.camel.Exchange exchange,
                                       org.apache.camel.AsyncCallback callback)
      • determineCorrelationId

        protected String determineCorrelationId​(javax.jms.Message message,
                                                String provisionalCorrelationId)
                                         throws javax.jms.JMSException
        Strategy to determine which correlation id to use among JMSMessageID and JMSCorrelationID.
        Parameters:
        message - the JMS message
        provisionalCorrelationId - an optional provisional correlation id, which is preferred to be used
        Returns:
        the correlation id to use
        Throws:
        javax.jms.JMSException - can be thrown
      • processInOnly

        protected boolean processInOnly​(org.apache.camel.Exchange exchange,
                                        org.apache.camel.AsyncCallback callback)
      • doSend

        protected void doSend​(boolean inOut,
                              String destinationName,
                              javax.jms.Destination destination,
                              org.springframework.jms.core.MessageCreator messageCreator,
                              MessageSentCallback callback)
        Sends the message using the JmsTemplate.
        Parameters:
        inOut - use inOut or inOnly template
        destinationName - the destination name
        destination - the destination (if no name provided)
        messageCreator - the creator to create the Message to send
        callback - optional callback to invoke when message has been sent
      • resolveOrCreateDestination

        protected javax.jms.Destination resolveOrCreateDestination​(String destinationName,
                                                                   javax.jms.Session session)
                                                            throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • setMessageId

        protected void setMessageId​(org.apache.camel.Exchange exchange)
      • getInOnlyTemplate

        public org.springframework.jms.core.JmsOperations getInOnlyTemplate()
      • setInOnlyTemplate

        public void setInOnlyTemplate​(org.springframework.jms.core.JmsOperations inOnlyTemplate)
      • getInOutTemplate

        public org.springframework.jms.core.JmsOperations getInOutTemplate()
      • setInOutTemplate

        public void setInOutTemplate​(org.springframework.jms.core.JmsOperations inOutTemplate)
      • getUuidGenerator

        public org.apache.camel.spi.UuidGenerator getUuidGenerator()
      • setUuidGenerator

        public void setUuidGenerator​(org.apache.camel.spi.UuidGenerator uuidGenerator)
      • testConnectionOnStartup

        protected void testConnectionOnStartup()
                                        throws org.apache.camel.FailedToCreateProducerException
        Pre tests the connection before starting the listening.

        In case of connection failure the exception is thrown which prevents Camel from starting.

        Throws:
        org.apache.camel.FailedToCreateProducerException - is thrown if testing the connection failed
      • doStart

        protected void doStart()
                        throws Exception
        Overrides:
        doStart in class org.apache.camel.support.DefaultProducer
        Throws:
        Exception
      • doStop

        protected void doStop()
                       throws Exception
        Overrides:
        doStop in class org.apache.camel.support.DefaultProducer
        Throws:
        Exception