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