public class MethodMapTransactionAttributeSource extends java.lang.Object implements TransactionAttributeSource, BeanClassLoaderAware, InitializingBean
Map のメソッドごとに格納できるようにする単純な TransactionAttributeSource 実装。isMatch(java.lang.String, java.lang.String), NameMatchTransactionAttributeSource| コンストラクターと説明 |
|---|
MethodMapTransactionAttributeSource() |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | addTransactionalMethod(java.lang.Class<?> clazz, java.lang.String mappedName, TransactionAttribute attr) トランザクションメソッドの属性を追加します。 |
void | addTransactionalMethod(java.lang.reflect.Method method, TransactionAttribute attr) トランザクションメソッドの属性を追加します。 |
void | addTransactionalMethod(java.lang.String name, TransactionAttribute attr) トランザクションメソッドの属性を追加します。 |
void | afterPropertiesSet() 指定された "methodMap" があれば、それを積極的に初期化します。 |
boolean | equals(java.lang.Object other) |
TransactionAttribute | getTransactionAttribute(java.lang.reflect.Method method, java.lang.Class<?> targetClass) 指定されたメソッドのトランザクション属性を返します。メソッドが非トランザクションの場合は null を返します。 |
int | hashCode() |
protected void | initMethodMap(java.util.Map<java.lang.String,TransactionAttribute> methodMap) 指定された "methodMap" を初期化します(存在する場合)。 |
protected boolean | isMatch(java.lang.String methodName, java.lang.String mappedName) 指定されたメソッド名がマッピング名と一致する場合に戻ります。 |
void | setBeanClassLoader(java.lang.ClassLoader beanClassLoader)Bean class loader を Bean インスタンスに提供するコールバック。 |
void | setMethodMap(java.util.Map<java.lang.String,TransactionAttribute> methodMap) "FQCN.method" メソッド名で構成される名前 / 属性マップを設定します(例: |
java.lang.String | toString() |
protected final Log logger
public void setMethodMap(java.util.Map<java.lang.String,TransactionAttribute> methodMap)
TransactionAttribute インスタンス(または TransactionAttribute インスタンスに変換される文字列)で構成される名前 / 属性マップを設定します。 通常、Spring Bean ファクトリ内での setter インジェクションによる構成を対象としています。afterPropertiesSet() が後で呼び出されることに依存しています。
methodMap - メソッド名から属性値までの Map TransactionAttribute, TransactionAttributeEditorpublic void setBeanClassLoader(java.lang.ClassLoader beanClassLoader)
BeanClassLoaderAwareclass loader を Bean インスタンスに提供するコールバック。 通常の Bean プロパティの設定後、ただし InitializingBean's InitializingBean.afterPropertiesSet() メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。
BeanClassLoaderAware 内の setBeanClassLoader beanClassLoader - 所有クラスローダー public void afterPropertiesSet()
"methodMap" があれば、それを積極的に初期化します。InitializingBean 内の afterPropertiesSet initMethodMap(java.util.Map)protected void initMethodMap(@Nullable java.util.Map<java.lang.String,TransactionAttribute> methodMap)
"methodMap" を初期化します(存在する場合)。methodMap - メソッド名から TransactionAttribute インスタンスへのマップ setMethodMap(java.util.Map<java.lang.String, org.springframework.transaction.interceptor.TransactionAttribute>)public void addTransactionalMethod(java.lang.String name,
TransactionAttribute attr)メソッド名は、複数のメソッドを一致させるために "*" で終了または開始できます。
name - ドットで区切られたクラスとメソッド名 attr - メソッドに関連付けられた属性 java.lang.IllegalArgumentException - 無効な名前の場合 public void addTransactionalMethod(java.lang.Class<?> clazz,
java.lang.String mappedName,
TransactionAttribute attr)clazz - ターゲットインターフェースまたはクラス mappedName - マッピングされたメソッド名 attr - メソッドに関連付けられた属性 public void addTransactionalMethod(java.lang.reflect.Method method,
TransactionAttribute attr)method - メソッド attr - メソッドに関連付けられた属性 protected boolean isMatch(java.lang.String methodName,
java.lang.String mappedName)デフォルトの実装では、"xxx*"、"*xxx"、"*xxx*" の一致、直接の同等性をチェックします。
methodName - クラスのメソッド名 mappedName - 記述子内の名前 PatternMatchUtils.simpleMatch(String, String)@Nullable public TransactionAttribute getTransactionAttribute(java.lang.reflect.Method method, @Nullable java.lang.Class<?> targetClass)
TransactionAttributeSourcenull を返します。TransactionAttributeSource 内の getTransactionAttribute method - イントロスペクトする方法 targetClass - ターゲットクラス (null の場合があります。この場合、メソッドの宣言クラスを使用する必要があります)null public boolean equals(java.lang.Object other)
java.lang.Object の equals public int hashCode()
java.lang.Object の hashCode public java.lang.String toString()
java.lang.Object の toString