This class implements javax.jms.Connection.
It is also the gateway through wich all calls to the JMS server is done. To
do its work it needs a ServerIL to invoke (@see
org.jboss.mq.server.ServerIL).
The (new from february 2002) logic for clientID is the following: if logging
in with a user and passwork a preconfigured clientID may be automatically
delivered from the server.
If the client wants to set it's own clientID it must do so on a connection
wich does not have a prefonfigured clientID and it must do so before it
calls any other methods on the connection (even getClientID()). It is not
allowable to use a clientID that either looks like JBossMQ internal one
(beginning with ID) or a clientID that is allready in use by someone, or a
clientID that is already preconfigured in the server.
If a preconfigured ID is not get, or a valid one is not set, the server will
set an internal ID. This ID is NEVER possible to use for durable
subscriptions. If a prefconfigured ID or one manually set is possible to use
to create a durable subscriptions is governed by the security configuration
of JBossMQ. In the default setup, only preconfigured clientID's are possible
to use. If using a SecurityManager, permissions to create a surable
subscriptions is * the resiult of a combination of the following:
- The clientID is not one of JBossMQ's internal.
- The user is authenticated and has a role that has create set to true
in the security config of the destination.
Notes for JBossMQ developers: All calls, except close(), that is possible to
do on a connection must call checkClientID()
author: Norbert Lataille (Norbert.Lataille@m4x.org) author: Hiram Chirino (Cojonudo14@hotmail.com) author: Peter Antman author: Adrian Brock version: $Revision: 61739 $ |