Class JndiHelper

java.lang.Object
nablarch.core.repository.jndi.JndiHelper

@Published(tag="architect") public class JndiHelper extends Object
JNDIルックアップを行う際のヘルパークラス。

設定例を以下に示す。

 
 <component class="nablarch.core.repository.jndi.JndiHelper">
   <property name="jndiProperties">
     <map>
        <entry key="java.naming.factory.initial" value="weblogic.jndi.WLInitialContextFactory"/>
        <entry key="java.naming.provider.url"    value="t3://weblogic.server:7001"/>
     </map>
   </property>
 </component>
 
 
  • Constructor Details

    • JndiHelper

      public JndiHelper()
  • Method Details

    • lookUp

      public <T> T lookUp()
      JNDIルックアップを行う。
      JNDI名は、setJndiResourceName(String)で設定されたリソース名が使用される。
      Type Parameters:
      T - ルックアップするオブジェクトの型
      Returns:
      ルックアップして得られたオブジェクト
    • lookUp

      public <T> T lookUp(String jndiResourceName)
      JNDIルックアップを行う。
      Type Parameters:
      T - ルックアップするオブジェクトの型
      Parameters:
      jndiResourceName - JNDIリソース名
      Returns:
      ルックアップして得られたオブジェクト
    • createContext

      protected InitialContext createContext() throws NamingException
      InitialContextを生成する。
      プロパティjndiPropertiesが設定されている場合はその設定で、 そうでない場合は、クラスパス上のjndi.propertiesでInitialContextが生成される。
      Returns:
      InitialContextのインスタンス
      Throws:
      NamingException - InitialContext生成時に発生した例外
      See Also:
    • handleNamingException

      protected void handleNamingException(String resourceName, NamingException namingException) throws IllegalStateException
      ルックアップ時に発生したNamingExceptionを処理する。
      この実装では必要なメッセージを設定した上で例外を送出する。
      Parameters:
      resourceName - ルックアップした時のJNDIリソース名
      namingException - 発生した例外
      Throws:
      IllegalStateException - 常に送出される
    • setJndiProperties

      public void setJndiProperties(Map<String,String> jndiProperties)
      JNDIプロパティを設定する。
      Parameters:
      jndiProperties - JNDIプロパティ
    • setJndiResourceName

      public void setJndiResourceName(String jndiResourceName)
      JNDIリソース名を設定する。 lookUp()メソッドでは、ここで設定したJNDI名が使用される。
      Parameters:
      jndiResourceName - JNDIリソース名