Interface | Description |
---|---|
JmsJmxConnectionFactory |
Interface that defines additional functionality that is required to support JMX over JMS.
|
JmsMBeanServerConnection |
Interface with additional methods for supporting
MBeanServerConnection over JMS. |
Class | Description |
---|---|
ExtendedJmsInvokerServiceExporter<S extends javax.jms.Destination> |
Overrides
JmsInvokerServiceExporter.writeRemoteInvocationResult so we can derive the replyTo from a StringProperty. |
JmsHelper | |
JmsInvokerFactory |
Factory class for creating
JmsInvokerProxy instances. |
JmsJmxConnectionFactoryImpl |
Base class for
JmsJmxConnectionFactory instances. |
JmsJmxConnectorClient |
Implementation of
JMXConnector that provides JMX connectivity via JMS. |
JmsJmxConnectorServer |
Implementation of
JMXConnectorServer that provides JMX connectivity via JMS. |
XStreamMessageConverter |
Enum | Description |
---|---|
JmsInvokerFactory.Factory | |
JmsJmxConnectionFactoryImpl.DestinationFactory |
Base package for handling remote JMX via JMS.
The underlying framework for handling remote JMX invocation is
handled by Spring Remoting (and its dependencies); particularly JmsInvokerServiceExporter
. This
package simply wraps the Spring remoting functionality and implements
the required interfaces from javax.management.remote
and
performs operation in a simple sequential fashion.
Although the classes contained in this package implement the
core functionality required to handle remote JMX over JMS, there are
some contracts that they will not fulfil. The most important one is
the behaviour of JMXConnectorServer.getConnectionIds()
and
JMXConnector.getConnectionId()
. It
uses a JMS provider to provide connectivity so clients aren't directly
connected to our JmsJmxConnectorServer
implementation,
requests just appear on a given Destination
and the
class attempts to service them. As a result, you will find that the
JMXConnectorServer.getConnectionIds()
will return an empty string, and although JMXConnector.getConnectionId()
will return a
conventional connection ID, it is only consistent for the lifetime of
the underlying JMS connection and cannot be cross-referenced with
anything.
Communication via both Queue
and Topic
are supported unless other specified in their respective implementations, each request will create a temporary
destination matching the target destination type. Notifications
are received and handled via a separate
temporary destination.