public class JndiDestinationResolver extends JndiLocatorSupport implements CachingDestinationResolver
DestinationResolver
実装(構成可能なフォールバック戦略を使用)。必要に応じて、JNDI 環境をカスタマイズできます。たとえば、適切な JNDI 環境プロパティを指定します。
動的なキューとトピックは、宛先名でキャッシュされます。結果として、キューとトピックの両方で一意の宛先名を使用する必要があります。キャッシュは、"cache"
フラグを使用してオフにすることができます。
動的宛先の解決へのフォールバックはデフォルトでオフになっていることに注意してください。この機能を有効にするには、"fallbackToDynamicDestination"
フラグをオンにします。
JndiAccessor.setJndiTemplate(org.springframework.jndi.JndiTemplate)
, JndiAccessor.setJndiEnvironment(java.util.Properties)
, setCache(boolean)
, setFallbackToDynamicDestination(boolean)
CONTAINER_PREFIX
logger
コンストラクターと説明 |
---|
JndiDestinationResolver() |
修飾子と型 | メソッドと説明 |
---|---|
void | clearCache() 宛先キャッシュ全体をクリアします。 |
void | removeFromCache(StringSE destinationName) 指定された名前の宛先をキャッシュから削除します(最初にこのリゾルバーによってキャッシュされた場合)。 |
DestinationEE | resolveDestinationName(SessionEE session, StringSE destinationName, boolean pubSubDomain) 見つかったリソースまたは動的な宛先として、指定された宛先名を解決します。 |
void | setCache(boolean cache) 解決された宛先をキャッシュするかどうかを設定します。 |
void | setDynamicDestinationResolver(DestinationResolver dynamicDestinationResolver) 動的な宛先にフォールバックするときに使用する DestinationResolver を設定します。 |
void | setFallbackToDynamicDestination(boolean fallbackToDynamicDestination) 宛先名が JNDI で見つからない場合、このリゾルバーが動的宛先を作成することになっているかどうかを設定します。 |
protected void | validateDestination(DestinationEE destination, StringSE destinationName, boolean pubSubDomain) 指定された Destination オブジェクトを検証し、予想される型と一致するかどうかを確認します。 |
convertJndiName, isResourceRef, lookup, lookup, setResourceRef
getJndiEnvironment, getJndiTemplate, setJndiEnvironment, setJndiTemplate
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setCache(boolean cache)
このフラグをオフにすると、操作ごとに宛先を再検索することができ、宛先のホットリスタートが可能になります。これは主に開発中に役立ちます。
動的キューとトピックは宛先名でキャッシュされることに注意してください。結果として、キューとトピックの両方で一意の宛先名を使用する必要があります。
public void setFallbackToDynamicDestination(boolean fallbackToDynamicDestination)
動的な宛先への透過的なフォールバックを有効にするには、このフラグをオンにします。
public void setDynamicDestinationResolver(DestinationResolver dynamicDestinationResolver)
DestinationResolver
を設定します。 デフォルトは Spring の標準 DynamicDestinationResolver
です。
public DestinationEE resolveDestinationName(@Nullable SessionEE session, StringSE destinationName, boolean pubSubDomain) throws JMSExceptionEE
DestinationResolver
DestinationResolver
の resolveDestinationName
session
- 現在の JMS セッション (リゾルバー実装が null
なしで機能できる場合)destinationName
- 宛先の名前 pubSubDomain
- ドメインが pub-sub の場合は true
、P2P の場合は false
JMSExceptionEE
- JMS セッションが宛先の解決に失敗した場合 protected void validateDestination(DestinationEE destination, StringSE destinationName, boolean pubSubDomain)
destination
- 検証する Destination オブジェクト destinationName
- 宛先の名前 pubSubDomain
- トピックが予想される場合は true
、キューの場合は false
public void removeFromCache(StringSE destinationName)
CachingDestinationResolver
JMS Destination オブジェクトが無効になったと想定して、指定された宛先へのアクセスが失敗した場合に呼び出されます。
CachingDestinationResolver
の removeFromCache
destinationName
- 宛先の名前 public void clearCache()
CachingDestinationResolver
一般的な JMS プロバイダーに障害が発生した場合に呼び出されます。
CachingDestinationResolver
の clearCache