Class IBMJmsCachingConnectionFactory

java.lang.Object
org.springframework.jms.connection.SingleConnectionFactory
org.springframework.jms.connection.CachingConnectionFactory
org.mule.jms.commons.internal.connection.IBMJmsCachingConnectionFactory
All Implemented Interfaces:
jakarta.jms.ConnectionFactory, jakarta.jms.ExceptionListener, jakarta.jms.QueueConnectionFactory, jakarta.jms.TopicConnectionFactory, org.mule.runtime.api.lifecycle.Disposable, org.mule.runtime.api.lifecycle.Stoppable, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.Lifecycle

public class IBMJmsCachingConnectionFactory extends org.springframework.jms.connection.CachingConnectionFactory implements org.mule.runtime.api.lifecycle.Stoppable, org.mule.runtime.api.lifecycle.Disposable
Decorates the JMS ConnectionFactory in order to ensure JMS session instances are reused. Applies only if the supplied connection factory isn't already an instance of CachingConnectionFactory NOTE: Currently only Non-XA JMS ConnectionFactory's will be decorated to provide caching.
Since:
1.0
  • Field Summary

    Fields inherited from class org.springframework.jms.connection.SingleConnectionFactory

    logger

    Fields inherited from interface org.mule.runtime.api.lifecycle.Disposable

    PHASE_NAME

    Fields inherited from interface org.mule.runtime.api.lifecycle.Stoppable

    PHASE_NAME
  • Constructor Summary

    Constructors
    Constructor
    Description
    IBMJmsCachingConnectionFactory(jakarta.jms.ConnectionFactory targetConnectionFactory, String username, String password, String clientId, CachingConfiguration config, JmsSupport jmsSupport, jakarta.jms.ExceptionListener exceptionListener, JmsReconnectionManager priorityManager)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    jakarta.jms.Connection
     
    jakarta.jms.Connection
    createConnection(String username, String password)
     
    jakarta.jms.JMSContext
     
    jakarta.jms.JMSContext
    createContext(int sessionMode)
     
    jakarta.jms.JMSContext
    createContext(String userName, String password)
     
    jakarta.jms.JMSContext
    createContext(String userName, String password, int sessionMode)
     
    jakarta.jms.QueueConnection
    createQueueConnection(String username, String password)
     
    jakarta.jms.TopicConnection
    createTopicConnection(String username, String password)
     
    void
     
    void
     
    protected jakarta.jms.Connection
     
    protected jakarta.jms.Connection
     
    protected jakarta.jms.Session
    getSession(jakarta.jms.Connection con, Integer mode)
     
    void
    onException(jakarta.jms.JMSException e)
     
    void
     

    Methods inherited from class org.springframework.jms.connection.CachingConnectionFactory

    getCachedSessionCount, getCachedSessionProxy, getSessionCacheSize, isCacheConsumers, isCacheProducers, resetConnection, setCacheConsumers, setCacheProducers, setSessionCacheSize

    Methods inherited from class org.springframework.jms.connection.SingleConnectionFactory

    afterPropertiesSet, closeConnection, createQueueConnection, createSession, createTopicConnection, getClientId, getExceptionListener, getSharedConnectionProxy, getTargetConnectionFactory, initConnection, isReconnectOnException, isRunning, prepareConnection, setClientId, setExceptionListener, setReconnectOnException, setTargetConnectionFactory, start

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • onException

      public void onException(@NonNull jakarta.jms.JMSException e)
      Specified by:
      onException in interface jakarta.jms.ExceptionListener
      Overrides:
      onException in class org.springframework.jms.connection.SingleConnectionFactory
    • destroy

      public void destroy()
      Specified by:
      destroy in interface org.springframework.beans.factory.DisposableBean
      Overrides:
      destroy in class org.springframework.jms.connection.SingleConnectionFactory
    • getConnection

      @NonNull protected jakarta.jms.Connection getConnection() throws jakarta.jms.JMSException
      Overrides:
      getConnection in class org.springframework.jms.connection.SingleConnectionFactory
      Throws:
      jakarta.jms.JMSException
    • getSession

      protected jakarta.jms.Session getSession(@NonNull jakarta.jms.Connection con, @NonNull Integer mode) throws jakarta.jms.JMSException
      Overrides:
      getSession in class org.springframework.jms.connection.CachingConnectionFactory
      Throws:
      jakarta.jms.JMSException
    • doCreateConnection

      @NonNull protected jakarta.jms.Connection doCreateConnection() throws jakarta.jms.JMSException
      Overrides:
      doCreateConnection in class org.springframework.jms.connection.SingleConnectionFactory
      Throws:
      jakarta.jms.JMSException
    • stop

      public void stop()
      Specified by:
      stop in interface org.springframework.context.Lifecycle
      Specified by:
      stop in interface org.mule.runtime.api.lifecycle.Stoppable
      Overrides:
      stop in class org.springframework.jms.connection.SingleConnectionFactory
    • dispose

      public void dispose()
      Specified by:
      dispose in interface org.mule.runtime.api.lifecycle.Disposable
    • createConnection

      @NonNull public jakarta.jms.Connection createConnection(@NonNull String username, @NonNull String password) throws jakarta.jms.JMSException
      Specified by:
      createConnection in interface jakarta.jms.ConnectionFactory
      Overrides:
      createConnection in class org.springframework.jms.connection.SingleConnectionFactory
      Throws:
      jakarta.jms.JMSException
    • createConnection

      @NonNull public jakarta.jms.Connection createConnection() throws jakarta.jms.JMSException
      Specified by:
      createConnection in interface jakarta.jms.ConnectionFactory
      Overrides:
      createConnection in class org.springframework.jms.connection.SingleConnectionFactory
      Throws:
      jakarta.jms.JMSException
    • createQueueConnection

      @NonNull public jakarta.jms.QueueConnection createQueueConnection(@NonNull String username, @NonNull String password) throws jakarta.jms.JMSException
      Specified by:
      createQueueConnection in interface jakarta.jms.QueueConnectionFactory
      Overrides:
      createQueueConnection in class org.springframework.jms.connection.SingleConnectionFactory
      Throws:
      jakarta.jms.JMSException
    • createTopicConnection

      @NonNull public jakarta.jms.TopicConnection createTopicConnection(@NonNull String username, @NonNull String password) throws jakarta.jms.JMSException
      Specified by:
      createTopicConnection in interface jakarta.jms.TopicConnectionFactory
      Overrides:
      createTopicConnection in class org.springframework.jms.connection.SingleConnectionFactory
      Throws:
      jakarta.jms.JMSException
    • createContext

      @NonNull public jakarta.jms.JMSContext createContext()
      Specified by:
      createContext in interface jakarta.jms.ConnectionFactory
      Overrides:
      createContext in class org.springframework.jms.connection.SingleConnectionFactory
    • createContext

      @NonNull public jakarta.jms.JMSContext createContext(@NonNull String userName, @NonNull String password)
      Specified by:
      createContext in interface jakarta.jms.ConnectionFactory
      Overrides:
      createContext in class org.springframework.jms.connection.SingleConnectionFactory
    • createContext

      @NonNull public jakarta.jms.JMSContext createContext(@NonNull String userName, @NonNull String password, int sessionMode)
      Specified by:
      createContext in interface jakarta.jms.ConnectionFactory
      Overrides:
      createContext in class org.springframework.jms.connection.SingleConnectionFactory
    • createContext

      @NonNull public jakarta.jms.JMSContext createContext(int sessionMode)
      Specified by:
      createContext in interface jakarta.jms.ConnectionFactory
      Overrides:
      createContext in class org.springframework.jms.connection.SingleConnectionFactory