Package com.adaptris.jmx.remote.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.
-
ClassDescriptionExtendedJmsInvokerServiceExporter<S extends javax.jms.Destination>Overrides
JmsInvokerServiceExporter.writeRemoteInvocationResult
so we can derive the replyTo from a StringProperty.Factory class for creatingJmsInvokerProxy
instances.Interface that defines additional functionality that is required to support JMX over JMS.Base class forJmsJmxConnectionFactory
instances.Implementation ofJMXConnector
that provides JMX connectivity via JMS.Implementation ofJMXConnectorServer
that provides JMX connectivity via JMS.Interface with additional methods for supportingMBeanServerConnection
over JMS.