org.apache.log4j.receivers.net

## Class JMSReceiver

- java.lang.Object
- - org.apache.log4j.component.spi.ComponentBase
  - - org.apache.log4j.component.plugins.PluginSkeleton
    - - org.apache.log4j.component.plugins.Receiver
      - - org.apache.log4j.receivers.net.JMSReceiver

- All Implemented Interfaces:
    javax.jms.MessageListener, Plugin, Component, Thresholdable, org.apache.log4j.spi.OptionHandler

      public class JMSReceiver
      extends Receiver
      implements javax.jms.MessageListener

  JMSReceiver receives a remote logging event on a configured JSM topic and "posts" it to a LoggerRepository as if the event was generated locally. This class is designed to receive events from the JMSAppender class (or classes that send compatible events).

  Once the event has been "posted", it will be handled by the appenders currently configured in the LoggerRespository.

  This implementation borrows heavily from the JMSSink implementation.

  Author:
    Mark Womack, Paul Smith, Stephen Pain

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected String` | `jndiPath`
    `protected String` | `password`
    `protected javax.jms.TopicConnection` | `topicConnection`
    `protected String` | `topicFactoryName`
    `protected String` | `topicName`
    `protected String` | `userId`

    - ### Fields inherited from class org.apache.log4j.component.plugins.Receiver

      `thresholdLevel`

    - ### Fields inherited from class org.apache.log4j.component.plugins.PluginSkeleton

      `name`

    - ### Fields inherited from class org.apache.log4j.component.spi.ComponentBase

      `repository`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JMSReceiver()`
    `JMSReceiver(String _topicFactoryName, String _topicName, String _userId, String _password, String _jndiPath)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `activateOptions()` Starts the JMSReceiver with the current options.
    `String` | `getJndiPath()` Gets the path to a properties file containing the initial context and jndi provider url
    `String` | `getPassword()` Gets the curernt password property.
    `String` | `getTopicFactoryName()` Gets the curernt JMS topic factory name property.
    `String` | `getTopicName()` Gets the curernt JMS topic name property.
    `String` | `getUserId()` Gets the current user id property.
    `boolean` | `isActive()` Returns true if this receiver is active.
    `boolean` | `isEquivalent(Plugin testPlugin)` Returns true if the receiver is the same class and they are configured for the same properties, and super class also considers them to be equivalent.
    `protected Object` | `lookup(Context ctx, String name)`
    `void` | `onMessage(javax.jms.Message message)`
    `protected void` | `setActive(boolean _active)` Sets the flag to indicate if receiver is active or not.
    `void` | `setJndiPath(String _jndiPath)` Sets the path to a properties file containing the initial context and jndi provider url
    `void` | `setPassword(String _password)` Sets the password to use when creating the JMS connection.
    `void` | `setTopicFactoryName(String _topicFactoryName)` Sets the JMS topic factory name to use when creating the JMS connection.
    `void` | `setTopicName(String _topicName)` Sets the JMS topic name to use when creating the JMS connection.
    `void` | `setUserId(String _userId)` Sets the user id to use when creating the JMS connection.
    `void` | `shutdown()` Called when the receiver should be stopped.

    - ### Methods inherited from class org.apache.log4j.component.plugins.Receiver

      `doPost, getThreshold, isAsSevereAsThreshold, setThreshold`

    - ### Methods inherited from class org.apache.log4j.component.plugins.PluginSkeleton

      `addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getLoggerRepository, getName, removePropertyChangeListener, removePropertyChangeListener, setLoggerRepository, setName`

    - ### Methods inherited from class org.apache.log4j.component.spi.ComponentBase

      `getLogger, getNonFloodingLogger, resetErrorCount`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### topicFactoryName

          protected String topicFactoryName

    - #### topicName

          protected String topicName

    - #### userId

          protected String userId

    - #### password

          protected String password

    - #### topicConnection

          protected javax.jms.TopicConnection topicConnection

    - #### jndiPath

          protected String jndiPath

  - ### Constructor Detail

    - #### JMSReceiver

          public JMSReceiver()

    - #### JMSReceiver

          public JMSReceiver(String _topicFactoryName,
                     String _topicName,
                     String _userId,
                     String _password,
                     String _jndiPath)

  - ### Method Detail

    - #### setJndiPath

          public void setJndiPath(String _jndiPath)

      Sets the path to a properties file containing the initial context and jndi provider url

    - #### getJndiPath

          public String getJndiPath()

      Gets the path to a properties file containing the initial context and jndi provider url

    - #### setTopicFactoryName

          public void setTopicFactoryName(String _topicFactoryName)

      Sets the JMS topic factory name to use when creating the JMS connection.

    - #### getTopicFactoryName

          public String getTopicFactoryName()

      Gets the curernt JMS topic factory name property.

    - #### setTopicName

          public void setTopicName(String _topicName)

      Sets the JMS topic name to use when creating the JMS connection.

    - #### getTopicName

          public String getTopicName()

      Gets the curernt JMS topic name property.

    - #### setUserId

          public void setUserId(String _userId)

      Sets the user id to use when creating the JMS connection.

    - #### getUserId

          public String getUserId()

      Gets the current user id property.

    - #### setPassword

          public void setPassword(String _password)

      Sets the password to use when creating the JMS connection.

    - #### getPassword

          public String getPassword()

      Gets the curernt password property.

    - #### isEquivalent

          public boolean isEquivalent(Plugin testPlugin)

      Returns true if the receiver is the same class and they are configured for the same properties, and super class also considers them to be equivalent. This is used by PluginRegistry when determining if the a similarly configured receiver is being started.
      Specified by:
        `isEquivalent` in interface `Plugin`
      Overrides:
        `isEquivalent` in class `PluginSkeleton`
      Parameters:
        `testPlugin` - The plugin to test equivalency against.
      Returns:
        boolean True if the testPlugin is equivalent to this plugin.

    - #### isActive

          public boolean isActive()

      Returns true if this receiver is active.
      Specified by:
        `isActive` in interface `Plugin`
      Overrides:
        `isActive` in class `PluginSkeleton`
      Returns:
        true/false

    - #### setActive

          protected void setActive(boolean _active)

      Sets the flag to indicate if receiver is active or not.

    - #### activateOptions

          public void activateOptions()

      Starts the JMSReceiver with the current options.
      Specified by:
        `activateOptions` in interface `org.apache.log4j.spi.OptionHandler`

    - #### shutdown

          public void shutdown()

      Called when the receiver should be stopped.
      Specified by:
        `shutdown` in interface `Plugin`

    - #### onMessage

          public void onMessage(javax.jms.Message message)

      Specified by:
        `onMessage` in interface `javax.jms.MessageListener`

    - #### lookup

          protected Object lookup(Context ctx,
                      String name)
                           throws NamingException

      Throws:
        `NamingException`

Copyright © 2013 The Apache Software Foundation. Licensed under the Apache License, Version 2.0

Apache Extras for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.