public abstract class JndiLocatorSupport extends JndiAccessor
JNDI 名には、ローカルにマップされた (ENC - 環境命名コンテキスト) リソースにアクセスするときに Java EE アプリケーションが期待する "java:comp/env/" プレフィックスが含まれる場合と含まれない場合があります。含まれていない場合は、"resourceRef" プロパティが true (デフォルトは false ) で、他のスキーム (例 "java:") が指定されていない場合に、"java:comp/env/" プレフィックスが先頭に追加されます。
JndiAccessor.setJndiTemplate(org.springframework.jndi.JndiTemplate)
, JndiAccessor.setJndiEnvironment(java.util.Properties)
, setResourceRef(boolean)
修飾子と型 | フィールドと説明 |
---|---|
static java.lang.String | CONTAINER_PREFIX Java EE コンテナーで使用される JNDI プレフィックス。 |
logger
コンストラクターと説明 |
---|
JndiLocatorSupport() |
修飾子と型 | メソッドと説明 |
---|---|
protected java.lang.String | convertJndiName(java.lang.String jndiName) 指定された JNDI 名を実際の JNDI 名に変換して使用します。 |
boolean | isResourceRef() 検索が Java EE コンテナーで発生するかどうかを返します。 |
protected java.lang.Object | lookup(java.lang.String jndiName) JndiTemplate を介して、指定された名前に対して実際の JNDI 検索を実行します。 |
protected <T> T | lookup(java.lang.String jndiName, java.lang.Class<T> requiredType) JndiTemplate を介して、指定された名前に対して実際の JNDI 検索を実行します。 |
void | setResourceRef(boolean resourceRef) ルックアップを Java EE コンテナーで行うかどうかを設定します。 |
getJndiEnvironment, getJndiTemplate, setJndiEnvironment, setJndiTemplate
public static final java.lang.String CONTAINER_PREFIX
public void setResourceRef(boolean resourceRef)
メモ: 他のスキーム( "java:" など)が指定されていない場合にのみ適用されます。
public boolean isResourceRef()
protected java.lang.Object lookup(java.lang.String jndiName) throws javax.naming.NamingException
名前が "java:comp/env/" で始まらない場合、"resourceRef" が "true" に設定されていると、このプレフィックスが追加されます。
jndiName
- 検索する JNDI 名 javax.naming.NamingException
- JNDI ルックアップが失敗した場合 setResourceRef(boolean)
protected <T> T lookup(java.lang.String jndiName, @Nullable java.lang.Class<T> requiredType) throws javax.naming.NamingException
名前が "java:comp/env/" で始まらない場合、"resourceRef" が "true" に設定されていると、このプレフィックスが追加されます。
jndiName
- 検索する JNDI 名 requiredType
- オブジェクトの必要な型 javax.naming.NamingException
- JNDI ルックアップが失敗した場合 setResourceRef(boolean)
protected java.lang.String convertJndiName(java.lang.String jndiName)
デフォルトの実装では、"resourceRef" が "true" で、他のスキーム( "java:" など)が指定されていない場合に、"java:comp/env/" プレフィックスが適用されます。
jndiName
- 元の JNDI 名 CONTAINER_PREFIX
, setResourceRef(boolean)