Class IbisMessageListenerContainer

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.AbstractPollingMessageListenerContainer
org.springframework.jms.listener.DefaultMessageListenerContainer
org.frankframework.jms.IbisMessageListenerContainer
All Implemented Interfaces:
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 IbisMessageListenerContainer extends org.springframework.jms.listener.DefaultMessageListenerContainer
Extend the DefaultMessageListenerContainer from Spring to add trace logging and make it possible to monitor the last poll finished time.
Author:
Niels Meijer, Jaco de Groot
  • Nested Class Summary

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

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

    Fields
    Modifier and Type
    Field
    Description
    protected org.apache.logging.log4j.Logger
     

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

    CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION, DEFAULT_RECOVERY_INTERVAL, DEFAULT_THREAD_NAME_PREFIX

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

    DEFAULT_RECEIVE_TIMEOUT

    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
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    commitIfNecessary(javax.jms.Session session, javax.jms.Message message)
     
    protected javax.jms.Connection
     
    protected javax.jms.Session
    createSession(javax.jms.Connection conn)
     
    protected javax.jms.Connection
     
    protected boolean
    doReceiveAndExecute(Object invoker, javax.jms.Session session, javax.jms.MessageConsumer consumer, org.springframework.transaction.TransactionStatus txStatus)
     
    protected javax.jms.Connection
    getConnection(org.springframework.jms.connection.JmsResourceHolder holder)
     
     
    protected javax.jms.Session
    getSession(org.springframework.jms.connection.JmsResourceHolder holder)
     
    protected boolean
    receiveAndExecute(Object asyncMessageListenerInvoker, javax.jms.Session session, javax.jms.MessageConsumer consumer)
     
    void
     

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

    applyBackOffTime, createDefaultTaskExecutor, doInitialize, doRescheduleTask, doShutdown, establishSharedConnection, getActiveConsumerCount, getCacheLevel, getConcurrentConsumers, getIdleConsumerLimit, getIdleReceivesPerTaskLimit, getIdleTaskExecutionLimit, getMaxConcurrentConsumers, getMaxMessagesPerTask, getScheduledConsumerCount, handleListenerSetupFailure, initialize, isRecovering, isRegisteredWithDestination, messageReceived, noMessageReceived, recoverAfterListenerSetupFailure, refreshConnectionUntilSuccessful, refreshDestination, scheduleNewInvokerIfAppropriate, setBackOff, setCacheLevel, setCacheLevelName, setConcurrency, setConcurrentConsumers, setIdleConsumerLimit, setIdleReceivesPerTaskLimit, setIdleTaskExecutionLimit, setMaxConcurrentConsumers, setMaxMessagesPerTask, setRecoveryInterval, setTaskExecutor, sharedConnectionEnabled, start, startSharedConnection, stop, stopSharedConnection

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

    createListenerConsumer, getReceiveTimeout, getTransactionManager, isSessionLocallyTransacted, receiveMessage, setReceiveTimeout, setSessionTransacted, setTransactionManager, setTransactionName, setTransactionTimeout, shouldCommitAfterNoMessageReceived

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

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

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

    afterPropertiesSet, destroy, doStart, doStop, getBeanName, getClientId, getPausedTaskCount, getPhase, getSharedConnection, isActive, isAutoStartup, isRunning, logRejectedTask, prepareSharedConnection, refreshSharedConnection, rescheduleTaskIfNecessary, resumePausedTasks, runningAllowed, setAutoStartup, setBeanName, setClientId, setPhase, shutdown, stop

    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, getConnectionFactory, getSessionAcknowledgeMode, isClientAcknowledge, isSessionTransacted, obtainConnectionFactory, setConnectionFactory, setSessionAcknowledgeMode, setSessionAcknowledgeModeName

    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, stop

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

    getDestinationResolver, isPubSubDomain

    Methods inherited from interface org.springframework.context.SmartLifecycle

    getPhase, isAutoStartup
  • Field Details

    • log

      protected org.apache.logging.log4j.Logger log
  • Constructor Details

    • IbisMessageListenerContainer

      public IbisMessageListenerContainer()
  • Method Details

    • createConnection

      protected javax.jms.Connection createConnection() throws javax.jms.JMSException
      Overrides:
      createConnection in class org.springframework.jms.support.JmsAccessor
      Throws:
      javax.jms.JMSException
    • createSession

      protected javax.jms.Session createSession(javax.jms.Connection conn) throws javax.jms.JMSException
      Overrides:
      createSession in class org.springframework.jms.support.JmsAccessor
      Throws:
      javax.jms.JMSException
    • getConnection

      protected javax.jms.Connection getConnection(org.springframework.jms.connection.JmsResourceHolder holder)
      Overrides:
      getConnection in class org.springframework.jms.listener.AbstractPollingMessageListenerContainer
    • getSession

      protected javax.jms.Session getSession(org.springframework.jms.connection.JmsResourceHolder holder)
      Overrides:
      getSession in class org.springframework.jms.listener.AbstractPollingMessageListenerContainer
    • createSharedConnection

      protected javax.jms.Connection createSharedConnection() throws javax.jms.JMSException
      Overrides:
      createSharedConnection in class org.springframework.jms.listener.AbstractJmsListeningContainer
      Throws:
      javax.jms.JMSException
    • receiveAndExecute

      protected boolean receiveAndExecute(Object asyncMessageListenerInvoker, javax.jms.Session session, javax.jms.MessageConsumer consumer) throws javax.jms.JMSException
      Overrides:
      receiveAndExecute in class org.springframework.jms.listener.AbstractPollingMessageListenerContainer
      Throws:
      javax.jms.JMSException
    • doReceiveAndExecute

      protected boolean doReceiveAndExecute(Object invoker, javax.jms.Session session, javax.jms.MessageConsumer consumer, org.springframework.transaction.TransactionStatus txStatus) throws javax.jms.JMSException
      Overrides:
      doReceiveAndExecute in class org.springframework.jms.listener.AbstractPollingMessageListenerContainer
      Throws:
      javax.jms.JMSException
    • commitIfNecessary

      protected void commitIfNecessary(javax.jms.Session session, @Nullable javax.jms.Message message) throws javax.jms.JMSException
      Overrides:
      commitIfNecessary in class org.springframework.jms.listener.AbstractMessageListenerContainer
      Throws:
      javax.jms.JMSException
    • setCredentialFactory

      public void setCredentialFactory(CredentialFactory credentialFactory)
    • getCredentialFactory

      public CredentialFactory getCredentialFactory()