public class JmsMessageEndpointManager extends GenericMessageEndpointManager implements BeanNameAware, MessageListenerContainer
GenericMessageEndpointManager
の拡張。ActivationSpec 構成の JMS 固有のサポートを追加します。 エンドポイントをアクティブ化するためにプロバイダー固有の JCA 1.5 ActivationSpec オブジェクトに変換される共通の JmsActivationSpecConfig
オブジェクトを定義できます。
注 : この JCA ベースのエンドポイントマネージャーは、標準の JMS MessageListener
EE エンドポイントのみをサポートしています。JCA エンドポイント管理規約で現在の JMS Session
EE を取得できないため、Spring の SessionAwareMessageListener
バリアントはサポートされていません。
MessageListener
EE, setActivationSpecConfig(org.springframework.jms.listener.endpoint.JmsActivationSpecConfig)
, JmsActivationSpecConfig
, JmsActivationSpecFactory
, JmsMessageEndpointFactory
DEFAULT_PHASE
コンストラクターと説明 |
---|
JmsMessageEndpointManager() |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() メッセージエンドポイントを準備し、"autoStartup" フラグが "true" に設定されている場合は自動的にアクティブ化します。 |
JmsActivationSpecConfig | getActivationSpecConfig() このエンドポイントマネージャーがリスナーをアクティブにするために使用する必要がある JmsActivationSpecConfig オブジェクトを返します。 |
DestinationResolver | getDestinationResolver() 名前で宛先を解決するために使用する DestinationResolver を返します。 |
MessageConverter | getMessageConverter() Message EE があれば、それを変換するために使用できる MessageConverter を返します。 |
MessageListenerEE | getMessageListener() このエンドポイントの JMS MessageListener を返します。 |
QosSettings | getReplyQosSettings() 応答を送信するときに使用する QosSettings を返すか、ブローカーのデフォルトを使用する必要がある場合は null を返します。 |
boolean | isPubSubDomain() パブリッシュ / サブスクライブドメイン( Topics EE)が使用されているかどうかを返します。 |
boolean | isReplyPubSubDomain() 返信先がパブリッシュ / サブスクライブドメイン( Topics EE)を使用するかどうかを返します。 |
void | setActivationSpecConfig(JmsActivationSpecConfig activationSpecConfig) このエンドポイントマネージャーがそのリスナをアクティブにするために使用する必要がある JmsActivationSpecConfig オブジェクトを指定します。 |
void | setActivationSpecFactory(JmsActivationSpecFactory activationSpecFactory) 具体的な JCA 1.5 ActivationSpec オブジェクトのファクトリを設定し、 JmsActivationSpecConfig オブジェクトに基づいて JCA ActivationSpecs を作成します。 |
void | setBeanName(StringSE beanName) このメッセージエンドポイントの名前を設定します。 |
void | setDestinationResolver(DestinationResolver destinationResolver) 宛先名の解決に使用する DestinationResolver を JCA 1.5 ActivationSpec の「宛先」プロパティに設定します。 |
void | setMessageListener(MessageListenerEE messageListener) このエンドポイントの JMS MessageListener を設定します。 |
void | setTransactionManager(ObjectSE transactionManager) エンドポイント呼び出しのラップに使用する XA トランザクションマネージャーを設定し、そのような各トランザクションにエンドポイントリソースを参加させます。 |
void | setupMessageListener(ObjectSE messageListener) 使用するメッセージリスナーを設定します。 |
destroy, getActivationSpec, getMessageEndpointFactory, getPhase, getResourceAdapter, isAutoStartup, isRunning, setActivationSpec, setAutoStartup, setMessageEndpointFactory, setPhase, setResourceAdapter, start, stop, stop
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
getPhase, isAutoStartup, stop
public void setMessageListener(MessageListenerEE messageListener)
これは、専用 JmsMessageEndpointFactory を構成するためのショートカットです。
public MessageListenerEE getMessageListener()
public void setTransactionManager(ObjectSE transactionManager)
渡されるオブジェクトは、Spring の TransactionFactory
インターフェースを実装するトランザクションマネージャー、またはプレーンな TransactionManager
SE です。
トランザクションマネージャーが指定されていない場合、エンドポイント呼び出しは XA トランザクションにラップされません。特定のプロバイダーのローカルトランザクションオプションについては、リソースプロバイダーの ActivationSpec ドキュメントを参照してください。
これは、専用 JmsMessageEndpointFactory を構成するためのショートカットです。
public void setActivationSpecFactory(@Nullable JmsActivationSpecFactory activationSpecFactory)
JmsActivationSpecConfig
オブジェクトに基づいて JCA ActivationSpecs を作成します。このファクトリは、具体的な JMS プロバイダ (たとえば ActiveMQ) に依存します。デフォルトの実装では、プロバイダのクラス名から ActivationSpec のクラス名を推測し (たとえば同じパッケージの "ActiveMQResourceAdapter" → "ActiveMQActivationSpec" )、JCA 1.5 仕様の ActivationSpec 属性 (さらにいくつかの自動検出型ベンダー固有属性) を設定します。
public void setDestinationResolver(DestinationResolver destinationResolver)
指定しない場合、宛先名は単に文字列として渡されます。指定した場合、宛先名は最初に Destination オブジェクトに解決されます。
DestinationResolver は通常 JmsActivationSpecFactory で指定されることに注意してください(StandardJmsActivationSpecFactory.setDestinationResolver(org.springframework.jms.support.destination.DestinationResolver)
を参照)。これは、デフォルトの JmsActivationSpecFactory をパラメーター化するためのショートカットです。以前に設定された可能性があるカスタム JmsActivationSpecFactory を置き換えます。
public void setActivationSpecConfig(@Nullable JmsActivationSpecConfig activationSpecConfig)
JmsActivationSpecConfig
オブジェクトを指定します。 この構成オブジェクトは、JmsActivationSpecFactory
を介して具象 JCA 1.5 ActivationSpec オブジェクトに変換されます。
@Nullable public JmsActivationSpecConfig getActivationSpecConfig()
JmsActivationSpecConfig
オブジェクトを返します。何も設定されていない場合は null
を返します。public void setBeanName(StringSE beanName)
BeanNameAware
の setBeanName
beanName
- ファクトリ内の Bean の名前。この名前は、ファクトリで使用される実際の Bean 名であり、最初に指定した名前とは異なる場合があります。特に内部 Bean 名の場合、実際の Bean 名は "#..." サフィックスを追加することで一意になります。必要に応じて、BeanFactoryUtils.originalBeanName(String)
メソッドを使用して、元の Bean 名(サフィックスなし)を抽出します。public void afterPropertiesSet() throws ResourceExceptionEE
GenericMessageEndpointManager
InitializingBean
の afterPropertiesSet
GenericMessageEndpointManager
の afterPropertiesSet
ResourceExceptionEE
public void setupMessageListener(ObjectSE messageListener)
MessageListenerContainer
IllegalArgumentException
SE をスローします。MessageListenerContainer
の setupMessageListener
@Nullable public MessageConverter getMessageConverter()
MessageListenerContainer
Message
EE があれば、それを変換するために使用できる MessageConverter
を返します。MessageListenerContainer
の getMessageConverter
@Nullable public DestinationResolver getDestinationResolver()
MessageListenerContainer
DestinationResolver
を返します。MessageListenerContainer
の getDestinationResolver
public boolean isPubSubDomain()
MessageListenerContainer
MessageListenerContainer
の isPubSubDomain
public boolean isReplyPubSubDomain()
MessageListenerContainer
Topics
EE)を使用するかどうかを返します。それ以外の場合は、ポイントツーポイントドメイン(Queues
EE)が使用されます。 デフォルトでは、値は MessageListenerContainer.isPubSubDomain()
と同じです。
MessageListenerContainer
の isReplyPubSubDomain
@Nullable public QosSettings getReplyQosSettings()
MessageListenerContainer
QosSettings
を返すか、ブローカーのデフォルトを使用する必要がある場合は null
を返します。MessageListenerContainer
の getReplyQosSettings