Class JmsProducer

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultProducer
org.apache.camel.support.DefaultAsyncProducer
org.apache.camel.component.jms.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
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected ReplyManager
     
    protected ReplyManager
     
    protected String
    determineCorrelationId(jakarta.jms.Message message, String provisionalCorrelationId)
    Strategy to determine which correlation id to use among JMSMessageID and JMSCorrelationID.
    protected void
    doSend(boolean inOut, String destinationName, jakarta.jms.Destination destination, org.springframework.jms.core.MessageCreator messageCreator, MessageSentCallback callback)
    Sends the message using the JmsTemplate.
    protected void
     
    protected void
     
     
    org.springframework.jms.core.JmsOperations
     
    org.springframework.jms.core.JmsOperations
     
    org.apache.camel.spi.UuidGenerator
     
    protected void
     
    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 jakarta.jms.Destination
    resolveOrCreateDestination(String destinationName, jakarta.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
    Pre tests the connection before starting the listening.
    protected void
     

    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 class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    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 Details

    • JmsProducer

      public JmsProducer(JmsEndpoint endpoint)
  • Method Details

    • 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(jakarta.jms.Message message, String provisionalCorrelationId) throws jakarta.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:
      jakarta.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, jakarta.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 jakarta.jms.Destination resolveOrCreateDestination(String destinationName, jakarta.jms.Session session) throws jakarta.jms.JMSException
      Throws:
      jakarta.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
    • createReplyManager

      protected ReplyManager createReplyManager() throws Exception
      Throws:
      Exception
    • createReplyManager

      protected ReplyManager createReplyManager(String replyTo) throws Exception
      Throws:
      Exception