public class DefaultJndiSupport extends org.springframework.jndi.JndiLocatorSupport implements JndiSupport
TERASOLUNAが提供するJNDI関連のユーティリティデフォルト実装クラス。
WebAPコンテナのJNDIリソースを扱うユーティリティである。
JNDIの認証情報が必要な場合は、Bean定義ファイルに必要なプロパティを
以下のように設定し、initializeメソッドを実行すること。
Bean定義ファイル経由でこのクラスのインスタンスを生成する場合は
init-method属性でinitializeメソッドを指定すること。
| factory | JNDIファクトリクラス名を指定する。 | weblogic.jndi.WLInitialContextFactory |
| url | JNDIプロバイダがおかれているURIを指定する。 | t3://localhost:7001 |
| username | JNDIサーバのユーザ名を指定する。 | weblogic |
| password | JNDIサーバのパスワードを指定する。 | password |
<bean id="jndiSupport" scope="singleton"
class="jp.terasoluna.fw.web.jndi.DefaultJndiSupport">
init-method="initialize">
<!-- セッタインジェクションで認証情報設定 -->
<property name="jndiEnvironmentMap">
<map>
<entry key="factory">
<value>weblogic.jndi.WLInitialContextFactory</value>
</entry>
<entry key="url">
<value>t3://localhost:7001</value>
</entry>
<entry key="username">
<value>weblogic</value>
</entry>
<entry key="password">
<value>password</value>
</entry>
</map>
</property>
<!-- プロパティjndiPrefixの設定 -->
<property name="jndiPrefix"><value>false</value></property>
</bean>
TomcatのBean定義ファイル設定例
<bean id="jndiSupport" scope="singleton"
class="jp.terasoluna.fw.web.jndi.DefaultJndiSupport" >
<!-- プロパティjndiPrefixの設定(デフォルト値はfalse) -->
<property name="jndiPrefix"><value>false</value></property>
</bean>
使用方法
Bean定義ファイルにサービスロジックの設定を以下のように行う。
サービスロジックで以下のように
<bean id="jndiLogic" scope="singleton"
class="jp.sample.JndiLogic">
<property name="jndiSupport">
<ref bean="jndiSupport" />
</property>
</bean>
<!-- JndiSupport設定 -->
<bean id="jndiSupport" scope="singleton"
class="jp.terasoluna.fw.web.jndi.DefaultJndiSupport" />
DefaultJndiSupportを取得する。
public class JndiLogic {
private JndiSupport jndiSupport = null;
public void setJndiSupport(jndiSupport) {
this.jndiSupport = jndiSupport;
}
public Object jndiLookup(String name) {
return jndiSupport.lookup(name);
}
}
JNDI_SUPPORT_KEY| コンストラクタと説明 |
|---|
DefaultJndiSupport()
コンストラクタ。
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
Map<String,String> |
getJndiEnvironmentMap()
jndiEnvironmentMapを取得する。
|
void |
initialize()
JndiTemplateの環境設定を行う。
|
boolean |
isJndiPrefix()
リソース名のプリフィックスのゲッター。
|
Object |
lookup(String name)
指定されたオブジェクトを取得する。
|
void |
rebind(String name,
Object obj)
名前をオブジェクトにバインドして、
既存のバインディングを上書きする。
|
void |
setJndiEnvironmentMap(Map<String,String> jndiEnvironmentMap)
jndiEnvironmentMapを設定する。
|
void |
setJndiPrefix(boolean jndiPrefix)
リソース名のプリフィックスのセッター。
|
void |
unbind(String name)
指定されたオブジェクトをアンバインドする。
|
convertJndiName, isResourceRef, lookup, setResourceRefpublic void setJndiPrefix(boolean jndiPrefix)
jndiPrefix - リソース名のプリフィックス付加フラグpublic boolean isJndiPrefix()
public Map<String,String> getJndiEnvironmentMap()
Map。public void setJndiEnvironmentMap(Map<String,String> jndiEnvironmentMap)
jndiEnvironmentMap - JNDI認証情報を格納するMap。public void initialize()
public void rebind(String name, Object obj)
rebind インタフェース内 JndiSupportname - オブジェクト名obj - バインドされるオブジェクトpublic void unbind(String name)
unbind インタフェース内 JndiSupportname - オブジェクト名public Object lookup(String name)
lookup インタフェース内 JndiSupportlookup クラス内 org.springframework.jndi.JndiLocatorSupportname - オブジェクト名Copyright © 2014. All Rights Reserved.