public abstract class JmsAccessor extends java.lang.Object implements InitializingBean
JmsTemplate
およびその他の JMS アクセスゲートウェイヘルパーの基本クラス。操作する JMS ConnectionFactory
EE などの共通プロパティを定義します。サブクラス JmsDestinationAccessor
は、宛先関連のプロパティをさらに追加します。 直接使用するためのものではありません。JmsTemplate
を参照してください。
JmsDestinationAccessor
, JmsTemplate
コンストラクターと説明 |
---|
JmsAccessor() |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() |
protected JmsException | convertJmsAccessException(JMSExceptionEE ex) 指定されたチェック済み JMSException EE を Spring ランタイム JmsException 同等物に変換します。 |
protected ConnectionEE | createConnection() このテンプレートの ConnectionFactory を介して JMS 接続を作成します。 |
protected SessionEE | createSession(ConnectionEE con) 指定された接続の JMS セッションを作成します。 |
ConnectionFactoryEE | getConnectionFactory() このアクセッサが JMS Connections EE を取得するために使用する ConnectionFactory を返します。 |
int | getSessionAcknowledgeMode() JMS sessions EE の確認応答モードを返します。 |
protected boolean | isClientAcknowledge(SessionEE session) 指定されたセッションがクライアント確認モードにあるかどうかを判別します。 |
boolean | isSessionTransacted() このアクセサーによって使用される JMS sessions EE がトランザクションされることになっているかどうかを返します。 |
protected ConnectionFactoryEE | obtainConnectionFactory() 実際に使用するために ConnectionFactory を取得します。 |
void | setConnectionFactory(ConnectionFactoryEE connectionFactory) JMS Connections EE の取得に使用する ConnectionFactory を設定します。 |
void | setSessionAcknowledgeMode(int sessionAcknowledgeMode) JMS Session EE を作成してメッセージを送信するときに使用される JMS 確認モードを設定します。 |
void | setSessionAcknowledgeModeName(java.lang.String constantName) JMS Session EE インターフェースの対応する定数の名前で JMS 確認モードを設定します。 |
void | setSessionTransacted(boolean sessionTransacted) JMS Session EE の作成時に使用されるトランザクションモードを設定します。 |
protected final Log logger
public void setConnectionFactory(@Nullable ConnectionFactoryEE connectionFactory)
Connections
EE の取得に使用する ConnectionFactory を設定します。@Nullable public ConnectionFactoryEE getConnectionFactory()
Connections
EE を取得するために使用する ConnectionFactory を返します。protected final ConnectionFactoryEE obtainConnectionFactory()
null
)java.lang.IllegalStateException
- ConnectionFactory セットがない場合 public void setSessionTransacted(boolean sessionTransacted)
Session
EE の作成時に使用されるトランザクションモードを設定します。デフォルトは "false" です。JTA トランザクション内では、create(Queue/Topic)Session(boolean transacted, int acknowledgeMode)
メソッドに渡されたパラメーターは考慮されないことに注意してください。Java EE トランザクションコンテキストに応じて、コンテナーはこれらの値に対して独自の決定を行います。同様に、これらのパラメーターは、ローカルで管理されるトランザクション内でも考慮されません。これは、この場合、アクセサーが既存の JMS セッションを操作するためです。
このフラグを "true" に設定すると、管理対象トランザクションの外部で実行される場合は短いローカル JMS トランザクションが使用され、管理対象トランザクション(XA トランザクション以外)が存在する場合は同期されたローカル JMS トランザクションが使用されます。これには、ローカルトランザクションがメイントランザクション(ネイティブ JDBC トランザクションの場合もあります)とともに管理され、JMS トランザクションがメイントランザクションの直後にコミットされるという効果があります。
public boolean isSessionTransacted()
sessions
EE がトランザクションされることになっているかどうかを返します。public void setSessionAcknowledgeModeName(java.lang.String constantName)
Session
EE インターフェースの対応する定数の名前で JMS 確認モードを設定します。"CLIENT_ACKNOWLEDGE"。 確認応答モードにベンダー固有の拡張機能を使用する場合は、代わりに setSessionAcknowledgeMode(int)
を使用します。
constantName
- Session
EE 確認モード定数の名前 Session.AUTO_ACKNOWLEDGE
EE, Session.CLIENT_ACKNOWLEDGE
EE, Session.DUPS_OK_ACKNOWLEDGE
EE, Connection.createSession(boolean, int)
EEpublic void setSessionAcknowledgeMode(int sessionAcknowledgeMode)
Session
EE を作成してメッセージを送信するときに使用される JMS 確認モードを設定します。 デフォルトは Session.AUTO_ACKNOWLEDGE
EE です。
ここでもベンダー固有の確認応答モードの拡張を設定できます。
EJB の内部では、create(Queue/Topic)Session(boolean transacted, int acknowledgeMode)
メソッドのパラメーターは考慮されないことに注意してください。EJB のトランザクションコンテキストに応じて、コンテナーはこれらの値を独自に決定します。EJB 仕様のセクション 17.3.5 を参照してください。
sessionAcknowledgeMode
- 確認応答モード定数 Session.AUTO_ACKNOWLEDGE
EE, Session.CLIENT_ACKNOWLEDGE
EE, Session.DUPS_OK_ACKNOWLEDGE
EE, Connection.createSession(boolean, int)
EEpublic int getSessionAcknowledgeMode()
sessions
EE の確認応答モードを返します。public void afterPropertiesSet()
InitializingBean
BeanFactoryAware
、ApplicationContextAware
などを満たした後、包含 BeanFactory
によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
InitializingBean
の afterPropertiesSet
protected JmsException convertJmsAccessException(JMSExceptionEE ex)
JMSException
EE を Spring ランタイム JmsException
同等物に変換します。 デフォルトの実装は、JmsUtils.convertJmsAccessException(javax.jms.JMSException)
メソッドに委譲します。
ex
- 変換する元のチェック済み JMSException
EEex
をラップする Spring ランタイム JmsException
JmsUtils.convertJmsAccessException(javax.jms.JMSException)
protected ConnectionEE createConnection() throws JMSExceptionEE
この実装では、JMS 1.1 API を使用します。
JMSExceptionEE
- JMS API メソッドによってスローされた場合 ConnectionFactory.createConnection()
EEprotected SessionEE createSession(ConnectionEE con) throws JMSExceptionEE
この実装では、JMS 1.1 API を使用します。
con
- セッションを作成する JMS 接続 JMSExceptionEE
- JMS API メソッドによってスローされた場合 Connection.createSession(boolean, int)
EEprotected boolean isClientAcknowledge(SessionEE session) throws JMSExceptionEE
この実装では、JMS 1.1 API を使用します。
session
- チェックする JMS セッション JMSExceptionEE
- JMS API メソッドによってスローされた場合 Session.getAcknowledgeMode()
EE, Session.CLIENT_ACKNOWLEDGE
EE