For JMS applications to be portable, they must be isolated from the administration of the underlying messaging provider. This is achieved by defining JMS 'administered objects' which encapsulate provider-specific information. Administered objects are created and configured using provider-specific facilities, but are used by clients through portable JMS interfaces.
There are two types of JMS administered object:
In WebSphere MQ Everyplace JMS these correspond to two classes:
These classes are typically placed in a JNDI namespace by an administrator. However, on small devices access to a JNDI namespace may be impractical or may represent an unnecessary overhead, so these classes do not include the necessary methods to allow them to be bound by JNDI. Two subclasses, MQeJNDIQueueConnectionFactory and MQeJMSJNDIQueue extend these classes to allow them to be stored using JNDI.