クラス AbstractMessageEndpointFactory
- 実装されたすべてのインターフェース:
MessageEndpointFactoryEE
、Aware
、BeanNameAware
MessageEndpointFactory
EE インターフェースの抽象基本実装。トランザクション管理機能とエンドポイント呼び出しの ClassLoader 公開を提供します。- 導入:
- 2.5
- 作成者:
- Juergen Hoeller
- 関連事項:
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明protected class
あらゆる種類の具体的なエンドポイント実装を可能にするテンプレートメソッドに基づく、実際のエンドポイント実装の内部クラス。フィールドサマリー
フィールドコンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明createEndpoint
(XAResourceSE xaResource) createEndpoint
の標準 JCA 1.5 バージョン。createEndpoint
(XAResourceSE xaResource, long timeout) createEndpoint
の代替 JCA 1.6 バージョン。protected abstract AbstractMessageEndpointFactory.AbstractMessageEndpoint
このファクトリのAbstractMessageEndpointFactory.AbstractMessageEndpoint
内部クラスのサブクラスとして、実際のエンドポイントインスタンスを作成します。JCA 1.7#getActivationName()
メソッドの実装。この MessageEndpointFactory に設定されている Bean 名を返します。ClassSE<?>
JCA 1.7#getEndpointClass()
メソッドの実装。合成エンドポイント型を示すために null を返します。boolean
isDeliveryTransacted
(MethodSE method) トランザクションマネージャーが指定されている場合、この実装はtrue
を返します。それ以外の場合はfalse
。void
setBeanName
(StringSE beanName) このメッセージエンドポイントの名前を設定します。void
setTransactionFactory
(TransactionFactory transactionFactory) エンドポイント呼び出しのラップに使用する Spring TransactionFactory を設定し、そのような各トランザクションにエンドポイントリソースを参加させます。void
setTransactionManager
(ObjectSE transactionManager) エンドポイント呼び出しのラップに使用する XA トランザクションマネージャーを設定し、そのような各トランザクションにエンドポイントリソースを参加させます。void
setTransactionName
(StringSE transactionName) トランザクションの名前を指定します(ある場合)。void
setTransactionTimeout
(int transactionTimeout) トランザクションタイムアウトがある場合は、それを指定します。
フィールドの詳細
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
AbstractMessageEndpointFactory
public AbstractMessageEndpointFactory()
メソッドの詳細
setTransactionManager
エンドポイント呼び出しのラップに使用する XA トランザクションマネージャーを設定し、そのような各トランザクションにエンドポイントリソースを参加させます。渡されるオブジェクトは、Spring の
TransactionFactory
インターフェースを実装するトランザクションマネージャー、またはプレーンなTransactionManager
EE です。トランザクションマネージャーが指定されていない場合、エンドポイント呼び出しは XA トランザクションにラップされません。特定のプロバイダーのローカルトランザクションオプションについては、リソースプロバイダーの ActivationSpec ドキュメントを確認してください。
setTransactionFactory
エンドポイント呼び出しのラップに使用する Spring TransactionFactory を設定し、そのような各トランザクションにエンドポイントリソースを参加させます。または、
"transactionManager"
プロパティを使用して適切なトランザクションマネージャーを指定します。トランザクションファクトリが指定されていない場合、エンドポイント呼び出しは XA トランザクションにラップされません。特定のプロバイダーのローカルトランザクションオプションについては、リソースプロバイダーの ActivationSpec ドキュメントを確認してください。
setTransactionName
トランザクションの名前を指定します(ある場合)。デフォルトはなしです。指定された名前がトランザクションマネージャーに渡され、トランザクションモニタでトランザクションを識別できるようになります。
setTransactionTimeout
public void setTransactionTimeout(int transactionTimeout) トランザクションタイムアウトがある場合は、それを指定します。デフォルトは -1 です: トランザクションマネージャーのデフォルトのタイムアウトに依存します。具体的なタイムアウトを指定して、各エンドポイント呼び出しの最大期間を制限します。
setBeanName
このメッセージエンドポイントの名前を設定します。Spring の Bean ファクトリ内で定義されると、Bean 名が自動的に入力されます。- 次で指定:
- インターフェース
BeanNameAware
のsetBeanName
- パラメーター:
beanName
- ファクトリ内の Bean の名前。この名前は、ファクトリで使用される実際の Bean 名であり、最初に指定した名前とは異なる場合があります。特に内部 Bean 名の場合、実際の Bean 名は "#..." サフィックスを追加することで一意になります。必要に応じて、BeanFactoryUtils.originalBeanName(String)
メソッドを使用して、元の Bean 名(サフィックスなし)を抽出します。
getActivationName
JCA 1.7#getActivationName()
メソッドの実装。この MessageEndpointFactory に設定されている Bean 名を返します。- 次で指定:
- インターフェース
MessageEndpointFactoryEE
のgetActivationNameEE
- 関連事項:
getEndpointClass
JCA 1.7#getEndpointClass()
メソッドの実装。合成エンドポイント型を示すために null を返します。- 次で指定:
- インターフェース
MessageEndpointFactoryEE
のgetEndpointClassEE
isDeliveryTransacted
トランザクションマネージャーが指定されている場合、この実装はtrue
を返します。それ以外の場合はfalse
。createEndpoint
createEndpoint
の標準 JCA 1.5 バージョン。この実装は
createEndpointInternal()
に委譲し、エンドポイントが呼び出される前にエンドポイントの XAResource を初期化します。- 次で指定:
- インターフェース
MessageEndpointFactoryEE
のcreateEndpointEE
- 例外:
UnavailableExceptionEE
createEndpoint
public MessageEndpointEE createEndpoint(XAResourceSE xaResource, long timeout) throws UnavailableExceptionEE createEndpoint
の代替 JCA 1.6 バージョン。この実装は、指定されたタイムアウトを無視して、
createEndpointInternal()
に委譲します。これは、JCA 1.6 準拠のためだけに存在します。- 次で指定:
- インターフェース
MessageEndpointFactoryEE
のcreateEndpointEE
- 例外:
UnavailableExceptionEE
createEndpointInternal
protected abstract AbstractMessageEndpointFactory.AbstractMessageEndpoint createEndpointInternal() throws UnavailableExceptionEEこのファクトリのAbstractMessageEndpointFactory.AbstractMessageEndpoint
内部クラスのサブクラスとして、実際のエンドポイントインスタンスを作成します。- 戻り値:
- 実際のエンドポイントインスタンス (非
null
) - 例外:
UnavailableExceptionEE
- 現在利用可能なエンドポイントがない場合