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