类 JndiTemplate

java.lang.Object
cn.taketoday.jndi.JndiTemplate

public class JndiTemplate extends Object
Helper class that simplifies JNDI operations. It provides methods to lookup and bind objects, and allows implementations of the JndiCallback interface to perform any operation they like with a JNDI naming context provided.
作者:
Rod Johnson, Juergen Hoeller
另请参阅:
  • 字段详细资料

    • logger

      protected final cn.taketoday.logging.Logger logger
  • 构造器详细资料

    • JndiTemplate

      public JndiTemplate()
      Create a new JndiTemplate instance.
    • JndiTemplate

      public JndiTemplate(@Nullable Properties environment)
      Create a new JndiTemplate instance, using the given environment.
  • 方法详细资料

    • setEnvironment

      public void setEnvironment(@Nullable Properties environment)
      Set the environment for the JNDI InitialContext.
    • getEnvironment

      @Nullable public Properties getEnvironment()
      Return the environment for the JNDI InitialContext, if any.
    • execute

      @Nullable public <T> T execute(JndiCallback<T> contextCallback) throws NamingException
      Execute the given JNDI context callback implementation.
      参数:
      contextCallback - the JndiCallback implementation to use
      返回:
      a result object returned by the callback, or null
      抛出:
      NamingException - thrown by the callback implementation
      另请参阅:
    • getContext

      public Context getContext() throws NamingException
      Obtain a JNDI context corresponding to this template's configuration. Called by execute(cn.taketoday.jndi.JndiCallback<T>); may also be called directly.

      The default implementation delegates to createInitialContext().

      返回:
      the JNDI context (never null)
      抛出:
      NamingException - if context retrieval failed
      另请参阅:
    • releaseContext

      public void releaseContext(@Nullable Context ctx)
      Release a JNDI context as obtained from getContext().
      参数:
      ctx - the JNDI context to release (may be null)
      另请参阅:
    • createInitialContext

      protected Context createInitialContext() throws NamingException
      Create a new JNDI initial context. Invoked by getContext().

      The default implementation use this template's environment settings. Can be subclassed for custom contexts, e.g. for testing.

      返回:
      the initial Context instance
      抛出:
      NamingException - in case of initialization errors
    • lookup

      public Object lookup(String name) throws NamingException
      Look up the object with the given name in the current JNDI context.
      参数:
      name - the JNDI name of the object
      返回:
      object found (cannot be null; if a not so well-behaved JNDI implementations returns null, a NamingException gets thrown)
      抛出:
      NamingException - if there is no object with the given name bound to JNDI
    • lookup

      public <T> T lookup(String name, @Nullable Class<T> requiredType) throws NamingException
      Look up the object with the given name in the current JNDI context.
      参数:
      name - the JNDI name of the object
      requiredType - type the JNDI object must match. Can be an interface or superclass of the actual class, or null for any match. For example, if the value is Object.class, this method will succeed whatever the class of the returned instance.
      返回:
      object found (cannot be null; if a not so well-behaved JNDI implementations returns null, a NamingException gets thrown)
      抛出:
      NamingException - if there is no object with the given name bound to JNDI
    • bind

      public void bind(String name, Object object) throws NamingException
      Bind the given object to the current JNDI context, using the given name.
      参数:
      name - the JNDI name of the object
      object - the object to bind
      抛出:
      NamingException - thrown by JNDI, mostly name already bound
    • rebind

      public void rebind(String name, Object object) throws NamingException
      Rebind the given object to the current JNDI context, using the given name. Overwrites any existing binding.
      参数:
      name - the JNDI name of the object
      object - the object to rebind
      抛出:
      NamingException - thrown by JNDI
    • unbind

      public void unbind(String name) throws NamingException
      Remove the binding for the given name from the current JNDI context.
      参数:
      name - the JNDI name of the object
      抛出:
      NamingException - thrown by JNDI, mostly name not found