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