Class JmsManager

java.lang.Object
org.apache.logging.log4j.core.appender.AbstractManager
org.apache.logging.log4j.core.appender.mom.jakarta.JmsManager
All Implemented Interfaces:
AutoCloseable

public final class JmsManager extends AbstractManager
Consider this class private; it is only public for access by integration tests.

JMS connection and session manager. Can be used to access MessageProducer, MessageConsumer, and Message objects involving a configured ConnectionFactory and Destination.

  • Method Details

    • getJmsManager

      public static JmsManager getJmsManager(String name, Properties jndiProperties, String connectionFactoryName, String destinationName, String userName, char[] password, boolean immediateFail, long reconnectIntervalMillis)
      Gets a JmsManager using the specified configuration parameters.
      Parameters:
      name - The name to use for this JmsManager.
      jndiProperties - JNDI properties.
      connectionFactoryName - The binding name for the ConnectionFactory.
      destinationName - The binding name for the Destination.
      userName - The userName to connect with or null for no authentication.
      password - The password to use with the given userName or null for no authentication.
      immediateFail - Whether or not to fail immediately with a AppenderLoggingException when connecting to JMS fails.
      reconnectIntervalMillis - How to log sleep in milliseconds before trying to reconnect to JMS.
      Returns:
      The JmsManager as configured.
    • getJmsManagerConfiguration

      public JmsManager.JmsManagerConfiguration getJmsManagerConfiguration()
    • releaseSub

      protected boolean releaseSub(long timeout, TimeUnit timeUnit)
      Description copied from class: AbstractManager
      May be overridden by managers to perform processing while the manager is being released and the lock is held. A timeout is passed for implementors to use as they see fit.
      Overrides:
      releaseSub in class AbstractManager
      Parameters:
      timeout - timeout
      timeUnit - timeout time unit
      Returns:
      true if all resources were closed normally, false otherwise.