Package org.eclipse.jetty.plus.jndi
Class NamingEntry
- java.lang.Object
-
- org.eclipse.jetty.plus.jndi.NamingEntry
-
- Direct Known Subclasses:
EnvEntry,Link,Resource,Transaction
public abstract class NamingEntry extends Object
NamingEntryBase class for all jndi related entities. Instances of subclasses of this class are declared in jetty.xml or in a webapp's WEB-INF/jetty-env.xml file.
NOTE: that all NamingEntries will be bound in a single namespace. The "global" level is just in the top level context. The "local" level is a context specific to a webapp.
-
-
Field Summary
Fields Modifier and Type Field Description static String__contextNameprotected String_jndiNameprotected String_namingEntryNameStringprotected String_objectNameStringprotected Object_scope
-
Constructor Summary
Constructors Modifier Constructor Description protectedNamingEntry(Object scope, String jndiName)Create a naming entry.protectedNamingEntry(String jndiName)Create a NamingEntry.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbindToENC(String localName)Add ajava:comp/envbinding for the object represented by this NamingEntry, but bind it as the name suppliedStringgetJndiName()Get the unique name of the object relative to the scopeStringgetJndiNameInScope()Get the name of the object, fully qualified with the scopevoidrelease()Unbind this NamingEntry entirelyprotected voidsave(Object object)Save the NamingEntry for later use.StringtoString()voidunbindENC()Unbind this NamingEntry from a java:comp/env
-
-
-
Constructor Detail
-
NamingEntry
protected NamingEntry(Object scope, String jndiName) throws NamingException
Create a naming entry.- Parameters:
scope- an object representing the scope of the name to be bound into jndi, where null means jvm scope.jndiName- the name that will be associated with an object bound into jndi- Throws:
NamingException
-
NamingEntry
protected NamingEntry(String jndiName) throws NamingException
Create a NamingEntry. A NamingEntry is a name associated with a value which can later be looked up in JNDI by a webapp. We create the NamingEntry and put it into JNDI where it can be linked to the webapp's env-entry, resource-ref etc entries.- Parameters:
jndiName- the name of the object which will eventually be in java:comp/env- Throws:
NamingException- if unable to create naming entry
-
-
Method Detail
-
bindToENC
public void bindToENC(String localName) throws NamingException
Add ajava:comp/envbinding for the object represented by this NamingEntry, but bind it as the name supplied- Parameters:
localName- the local name to bind- Throws:
NamingException- if unable to bind
-
unbindENC
public void unbindENC()
Unbind this NamingEntry from a java:comp/env
-
release
public void release()
Unbind this NamingEntry entirely
-
getJndiName
public String getJndiName()
Get the unique name of the object relative to the scope- Returns:
- the unique jndi name of the object
-
getJndiNameInScope
public String getJndiNameInScope()
Get the name of the object, fully qualified with the scope- Returns:
- the name of the object, fully qualified with the scope
-
save
protected void save(Object object) throws NamingException
Save the NamingEntry for later use.Saving is done by binding the NamingEntry itself, and the value it represents into JNDI. In this way, we can link to the value it represents later, but also still retrieve the NamingEntry itself too.
The object is bound at the jndiName passed in. This NamingEntry is bound at __/jndiName.
eg
jdbc/foo : DataSource __/jdbc/foo : NamingEntry
- Parameters:
object- the object to save- Throws:
NamingException- if unable to save
-
-