org.jboss.jms.p2p.naming
Class ContextImpl
java.lang.Object
org.jboss.jms.p2p.naming.ContextImpl
- All Implemented Interfaces:
- javax.naming.Context
- public class ContextImpl
- extends java.lang.Object
- implements javax.naming.Context
Simple Context
implementation to enable using Pure P2P JMS/JBoss in a vendor neutral
way. This uses DistributedTree
to create a single namespace shared by all Pure P2P JMS/
JBoss clients defined in the same group. This is a minimal implementation only built to support
the very basic needs of JMS clients--namely looking up instances of
ConnectionFactory
(src) and Destination
(src) by thier String
names. In fact, all the operations that requre use of Name
will throw
OperationNotSupportedException
because I didn't want to get into dealing with the syntax
properties, etc. If it is implemented here, it is either required to support the JMS clients, it
was easy so I did it, or partial implementation was easy so I did it. An example of partial
implementation is the NamingEnumeration
returned by the list(javax.naming.Name)
methods. The
returned NamingEnumeration
is be expected to provide more than the String
values of the keys which is what it returns now.
Additionally, this should be refactored to use a single channel, as right now it creates its
own. That means that right now for a JMS client that uses JNDI, two distinct channels will be
opened. This is currently required becuase of the use of the JavaGroup blocks which would step
one one another (org.jgroups.blocks.PullPushAdapter
taking messages meeded buy the
DistributedTree
, etc.).
Fields inherited from interface javax.naming.Context |
APPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES |
Method Summary |
java.lang.Object |
addToEnvironment(java.lang.String name,
java.lang.Object value)
|
void |
bind(javax.naming.Name name,
java.lang.Object object)
|
void |
bind(java.lang.String name,
java.lang.Object object)
|
void |
close()
|
javax.naming.Name |
composeName(javax.naming.Name name,
javax.naming.Name prefix)
|
java.lang.String |
composeName(java.lang.String name,
java.lang.String prefix)
|
javax.naming.Context |
createSubcontext(javax.naming.Name name)
|
javax.naming.Context |
createSubcontext(java.lang.String name)
|
void |
destroySubcontext(javax.naming.Name name)
|
void |
destroySubcontext(java.lang.String name)
|
void |
finalize()
|
java.util.Hashtable |
getEnvironment()
|
java.lang.String |
getNameInNamespace()
|
javax.naming.NameParser |
getNameParser(javax.naming.Name name)
|
javax.naming.NameParser |
getNameParser(java.lang.String name)
|
javax.naming.NamingEnumeration |
list(javax.naming.Name name)
|
javax.naming.NamingEnumeration |
list(java.lang.String name)
|
javax.naming.NamingEnumeration |
listBindings(javax.naming.Name name)
|
javax.naming.NamingEnumeration |
listBindings(java.lang.String name)
|
java.lang.Object |
lookup(javax.naming.Name name)
|
java.lang.Object |
lookup(java.lang.String name)
|
java.lang.Object |
lookupLink(javax.naming.Name name)
|
java.lang.Object |
lookupLink(java.lang.String name)
|
void |
rebind(javax.naming.Name name,
java.lang.Object object)
|
void |
rebind(java.lang.String name,
java.lang.Object object)
|
java.lang.Object |
removeFromEnvironment(java.lang.String name)
|
void |
rename(javax.naming.Name oldName,
javax.naming.Name newName)
|
void |
rename(java.lang.String oldName,
java.lang.String newName)
|
void |
unbind(javax.naming.Name name)
|
void |
unbind(java.lang.String name)
|
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
lookup
public java.lang.Object lookup(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
lookup
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
lookup
public java.lang.Object lookup(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
lookup
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
bind
public void bind(javax.naming.Name name,
java.lang.Object object)
throws javax.naming.NamingException
- Specified by:
bind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
bind
public void bind(java.lang.String name,
java.lang.Object object)
throws javax.naming.NamingException
- Specified by:
bind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
rebind
public void rebind(javax.naming.Name name,
java.lang.Object object)
throws javax.naming.NamingException
- Specified by:
rebind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
rebind
public void rebind(java.lang.String name,
java.lang.Object object)
throws javax.naming.NamingException
- Specified by:
rebind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
unbind
public void unbind(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
unbind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
unbind
public void unbind(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
unbind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
rename
public void rename(javax.naming.Name oldName,
javax.naming.Name newName)
throws javax.naming.NamingException
- Specified by:
rename
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
rename
public void rename(java.lang.String oldName,
java.lang.String newName)
throws javax.naming.NamingException
- Specified by:
rename
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
list
public javax.naming.NamingEnumeration list(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
list
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
list
public javax.naming.NamingEnumeration list(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
list
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
listBindings
public javax.naming.NamingEnumeration listBindings(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
listBindings
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
listBindings
public javax.naming.NamingEnumeration listBindings(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
listBindings
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
destroySubcontext
public void destroySubcontext(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
destroySubcontext
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
destroySubcontext
public void destroySubcontext(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
destroySubcontext
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
createSubcontext
public javax.naming.Context createSubcontext(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
createSubcontext
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
createSubcontext
public javax.naming.Context createSubcontext(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
createSubcontext
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
lookupLink
public java.lang.Object lookupLink(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
lookupLink
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
lookupLink
public java.lang.Object lookupLink(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
lookupLink
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
getNameParser
public javax.naming.NameParser getNameParser(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
getNameParser
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
getNameParser
public javax.naming.NameParser getNameParser(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
getNameParser
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
composeName
public javax.naming.Name composeName(javax.naming.Name name,
javax.naming.Name prefix)
throws javax.naming.NamingException
- Specified by:
composeName
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
composeName
public java.lang.String composeName(java.lang.String name,
java.lang.String prefix)
throws javax.naming.NamingException
- Specified by:
composeName
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
addToEnvironment
public java.lang.Object addToEnvironment(java.lang.String name,
java.lang.Object value)
throws javax.naming.NamingException
- Specified by:
addToEnvironment
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
removeFromEnvironment
public java.lang.Object removeFromEnvironment(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
removeFromEnvironment
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
getEnvironment
public java.util.Hashtable getEnvironment()
throws javax.naming.NamingException
- Specified by:
getEnvironment
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
close
public void close()
throws javax.naming.NamingException
- Specified by:
close
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
getNameInNamespace
public java.lang.String getNameInNamespace()
throws javax.naming.NamingException
- Specified by:
getNameInNamespace
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
finalize
public void finalize()
throws java.lang.Throwable
- Throws:
java.lang.Throwable