パッケージ org.springframework.jndi

クラス JndiObjectTargetSource

実装されたすべてのインターフェース:
TargetClassAwareTargetSourceInitializingBean

public class JndiObjectTargetSource extends JndiObjectLocator implements TargetSource
getTarget() 呼び出しの構成可能な JNDI ルックアップを提供する AOP TargetSource

JndiObjectFactoryBean の代わりに使用して、JNDI オブジェクトを遅延または各操作で再配置できます( "lookupOnStartup" および "cache" プロパティを参照)。これは、JNDI サーバー(リモート JMS サーバーなど)のホットリスタートを可能にするため、開発中に特に役立ちます。

例:

 <bean id="queueConnectionFactoryTarget" class="org.springframework.jndi.JndiObjectTargetSource">
   <property name="jndiName" value="JmsQueueConnectionFactory"/>
   <property name="lookupOnStartup" value="false"/>
 </bean>

 <bean id="queueConnectionFactory" class="org.springframework.aop.framework.ProxyFactoryBean">
   <property name="proxyInterfaces" value="jakarta.jms.QueueConnectionFactory"/>
   <property name="targetSource" ref="queueConnectionFactoryTarget"/>
 </bean>
"queueConnectionFactory" プロキシでの createQueueConnection 呼び出しにより、"JmsQueueConnectionFactory" の遅延 JNDI 検索が発生し、その後、取得された QueueConnectionFactory の createQueueConnection への委譲呼び出しが行われます。

あるいは、"proxyInterface" を含む JndiObjectFactoryBean を使用します。その後、"lookupOnStartup" と "cache" を JndiObjectFactoryBean に指定して、そに JndiObjectTargetSource を作成できます (ProxyFactoryBean と JndiObjectTargetSource の Bean を個別に定義する代わりに)。

導入:
1.1
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • JndiObjectTargetSource

      public JndiObjectTargetSource()
  • メソッドの詳細

    • setLookupOnStartup

      public void setLookupOnStartup(boolean lookupOnStartup)
      起動時に JNDI オブジェクトを検索するかどうかを設定します。デフォルトは "true" です。

      JNDI オブジェクトの遅い可用性を可能にするためにオフにすることができます。この場合、JNDI オブジェクトは最初のアクセスでフェッチされます。

      関連事項:
    • setCache

      public void setCache(boolean cache)
      見つかった JNDI オブジェクトをキャッシュするかどうかを設定します。デフォルトは "true" です。

      JNDI オブジェクトのホット再デプロイメントを可能にするためにオフにすることができます。この場合、JNDI オブジェクトは呼び出しごとにフェッチされます。

      関連事項:
    • afterPropertiesSet

      public void afterPropertiesSet() throws NamingExceptionSE
      インターフェースからコピーされた説明: InitializingBean
      すべての Bean プロパティを設定し、BeanFactoryAwareApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。

      このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。

      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
      オーバーライド:
      クラス JndiObjectLocatorafterPropertiesSet 
      例外:
      NamingExceptionSE
    • getTargetClass

      @Nullable public ClassSE<?> getTargetClass()
      インターフェースからコピーされた説明: TargetSource
      この TargetSource によって返されるターゲットの型を返します。

      null を返すことができますが、TargetSource の特定の使用箇所は、事前定義されたターゲットクラスでのみ機能する場合があります。

      次で指定:
      インターフェース TargetClassAwaregetTargetClass 
      次で指定:
      インターフェース TargetSourcegetTargetClass 
      戻り値:
      この TargetSource によって返されるターゲットの型
    • isStatic

      public boolean isStatic()
      インターフェースからコピーされた説明: TargetSource
      TargetSource.getTarget() へのすべての呼び出しは同じオブジェクトを返しますか?

      その場合、TargetSource.releaseTarget(Object) を呼び出す必要はなく、AOP フレームワークは TargetSource.getTarget() の戻り値をキャッシュできます。

      デフォルトの実装は false を返します。

      次で指定:
      インターフェース TargetSourceisStatic 
      戻り値:
      true (ターゲットが不変の場合)
      関連事項:
    • getTarget

      @Nullable public ObjectSE getTarget()
      インターフェースからコピーされた説明: TargetSource
      ターゲットインスタンスを返します。AOP フレームワークが AOP メソッド呼び出しの「ターゲット」を呼び出す直前に呼び出されます。
      次で指定:
      インターフェース TargetSourcegetTarget 
      戻り値:
      ジョインポイントを含むターゲットオブジェクト、または実際のターゲットインスタンスがない場合は null