Class SharedQueueSimpleMessageListenerContainer

java.lang.Object
org.springframework.jms.support.JmsAccessor
org.springframework.jms.support.destination.JmsDestinationAccessor
org.springframework.jms.listener.AbstractJmsListeningContainer
org.springframework.jms.listener.AbstractMessageListenerContainer
org.springframework.jms.listener.SimpleMessageListenerContainer
org.apache.camel.component.jms.SimpleJmsMessageListenerContainer
org.apache.camel.component.jms.reply.SharedQueueSimpleMessageListenerContainer
All Implemented Interfaces:
jakarta.jms.ExceptionListener, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle, org.springframework.jms.listener.MessageListenerContainer

public class SharedQueueSimpleMessageListenerContainer extends SimpleJmsMessageListenerContainer
This SimpleJmsMessageListenerContainer is used for reply queues which are shared.

This implementation supports using a fixed or dynamic JMS Message Selector to pickup the designated reply messages from the shared queue. Since the queue is shared, then we can only pickup the reply messages which is intended for us, so to support that we must use JMS Message Selectors.

See more details at camel-jms.

See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer

    org.springframework.jms.listener.AbstractJmsListeningContainer.SharedConnectionNotInitializedException
  • Field Summary

    Fields inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer

    lifecycleMonitor, sharedConnectionMonitor

    Fields inherited from class org.springframework.jms.support.destination.JmsDestinationAccessor

    RECEIVE_TIMEOUT_INDEFINITE_WAIT, RECEIVE_TIMEOUT_NO_WAIT

    Fields inherited from class org.springframework.jms.support.JmsAccessor

    logger

    Fields inherited from interface org.springframework.context.SmartLifecycle

    DEFAULT_PHASE
  • Constructor Summary

    Constructors
    Constructor
    Description
    Use a fixed JMS message selector
    Use a dynamic JMS message selector
  • Method Summary

    Modifier and Type
    Method
    Description
     

    Methods inherited from class org.apache.camel.component.jms.SimpleJmsMessageListenerContainer

    runningAllowed

    Methods inherited from class org.springframework.jms.listener.SimpleMessageListenerContainer

    createListenerConsumer, doInitialize, doShutdown, doStart, initializeConsumers, onException, prepareSharedConnection, processMessage, setConcurrency, setConcurrentConsumers, setConnectLazily, setRecoverOnException, setTaskExecutor, sharedConnectionEnabled, validateConfiguration

    Methods inherited from class org.springframework.jms.listener.AbstractMessageListenerContainer

    checkMessageListener, commitIfNecessary, createConsumer, createObservation, doExecuteListener, doInvokeListener, doInvokeListener, executeListener, getDefaultSubscriptionName, getDestination, getDestinationDescription, getDestinationName, getDurableSubscriptionName, getErrorHandler, getExceptionListener, getMessageConverter, getMessageListener, getObservationRegistry, getReplyQosSettings, getSubscriptionName, handleListenerException, invokeErrorHandler, invokeExceptionListener, invokeListener, isAcceptMessagesWhileStopping, isExposeListenerSession, isPubSubNoLocal, isReplyPubSubDomain, isSessionLocallyTransacted, isSubscriptionDurable, isSubscriptionShared, rollbackIfNecessary, rollbackOnExceptionIfNecessary, setAcceptMessagesWhileStopping, setDestination, setDestinationName, setDurableSubscriptionName, setErrorHandler, setExceptionListener, setExposeListenerSession, setMessageConverter, setMessageListener, setMessageSelector, setObservationRegistry, setPubSubNoLocal, setReplyPubSubDomain, setReplyQosSettings, setSubscriptionDurable, setSubscriptionName, setSubscriptionShared, setupMessageListener

    Methods inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer

    afterPropertiesSet, createSharedConnection, destroy, doRescheduleTask, doStop, establishSharedConnection, getBeanName, getClientId, getPausedTaskCount, getPhase, getSharedConnection, initialize, isActive, isAutoStartup, isRunning, logRejectedTask, refreshSharedConnection, releaseSharedConnection, rescheduleTaskIfNecessary, resumePausedTasks, setAutoStartup, setBeanName, setClientId, setPhase, shutdown, start, startSharedConnection, stop, stopSharedConnection

    Methods inherited from class org.springframework.jms.support.destination.JmsDestinationAccessor

    getDestinationResolver, isPubSubDomain, receiveFromConsumer, resolveDestinationName, setDestinationResolver, setPubSubDomain

    Methods inherited from class org.springframework.jms.support.JmsAccessor

    convertJmsAccessException, createConnection, createSession, getConnectionFactory, getSessionAcknowledgeMode, isClientAcknowledge, isSessionTransacted, obtainConnectionFactory, setConnectionFactory, setSessionAcknowledgeMode, setSessionAcknowledgeModeName, setSessionTransacted

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.springframework.context.Lifecycle

    isRunning, start, stop

    Methods inherited from interface org.springframework.jms.listener.MessageListenerContainer

    getDestinationResolver, isPubSubDomain

    Methods inherited from interface org.springframework.context.SmartLifecycle

    getPhase, isAutoStartup, stop
  • Constructor Details

    • SharedQueueSimpleMessageListenerContainer

      public SharedQueueSimpleMessageListenerContainer(JmsEndpoint endpoint, String fixedMessageSelector)
      Use a fixed JMS message selector
      Parameters:
      endpoint - the endpoint
      fixedMessageSelector - the fixed selector
    • SharedQueueSimpleMessageListenerContainer

      public SharedQueueSimpleMessageListenerContainer(JmsEndpoint endpoint, MessageSelectorCreator creator)
      Use a dynamic JMS message selector
      Parameters:
      endpoint - the endpoint
      creator - the creator to create the dynamic selector
  • Method Details

    • getMessageSelector

      public String getMessageSelector()
      Overrides:
      getMessageSelector in class org.springframework.jms.listener.AbstractMessageListenerContainer