public class SynchronizedMethod
extends java.lang.Object
implements java.io.Serializable
Title: SynchronizedMethod
Description: 包装同步方法,事务性方法信息
Copyright: Copyright (c) 2006
Company: bboss
| 限定符和类型 | 类和说明 |
|---|---|
static class |
SynchronizedMethod.MethodInfo |
| 构造器和说明 |
|---|
SynchronizedMethod() |
SynchronizedMethod(java.lang.reflect.Method method,
Async async) |
SynchronizedMethod(java.lang.reflect.Method method,
com.frameworkset.orm.annotation.TransactionType txtype,
java.lang.String[] rollbacksexceptions) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addParam(Pro param) |
void |
addRollbackException(RollbackException rollbackException) |
static java.lang.String |
buildMethodUUID(java.lang.reflect.Method method) |
static java.lang.String |
buildMethodUUID(java.lang.reflect.Method method,
java.lang.Object[] args)
构建方法的惟一标识id,一个类中的一个方法只对应一个标识,标识生成的规则
是:方法名+'_' + 参数类型1 + ... + '_' + 参数类型n
|
static java.lang.String |
buildMethodUUID(java.lang.String method,
java.lang.Class[] paramTypes)
构建方法的惟一标识id,一个类中的一个方法只对应一个标识,标识生成的规则
是:方法名+'_' + 参数类型1 + ... + '_' + 参数类型n
|
java.lang.String |
getAsyncCallback() |
Result |
getAsyncResultMode() |
long |
getAsyncTimeout() |
java.lang.String |
getMethodName() |
Param |
getParam(java.lang.String paramtype) |
java.util.List |
getParams() |
java.lang.String |
getPattern() |
java.util.List |
getRollbackExceptions() |
com.frameworkset.orm.annotation.TransactionType |
getTxtype() |
java.lang.String |
getUUID()
获取方法的惟一标识
|
boolean |
isPattern()
判断方法是不是一个模式匹配方法,如果是,则按照模式来匹配需要同步或需要进行事务控制的方法
|
boolean |
isRollbackException(java.lang.Throwable throwable)
判断异常是否是需要回滚事务的异常
以下异常必须回滚:
com.frameworkset.orm.transaction.TransactionException
javax.transaction.RollbackException
java.sql.SQLException
系统级别的异常也必须回滚:
java.lang.NullpointException
其他类型的异常要看看是否包含的rollbackExceptions中,如果在则需要回滚事务,
否则提交事务。
|
static void |
main(java.lang.String[] args) |
boolean |
match(java.lang.reflect.Method method)
判断参数传入的方法是否与同步方法匹配
首先判别所有的同步方法中是否有模式匹配方法
没有则直接构建方法惟一id
|
boolean |
match(java.lang.reflect.Method method,
java.lang.String methodUUID)
判断方法是否与当前方法匹配
注意:本方法已经不考虑老版系统管理中直接通过方法名称指定同步方法的使用模式,因此如果
老版迁移到新版时,需要明确地指定方法的名称和方法的参数才能正常运行
|
static SynchronizedMethod.MethodInfo |
refactorMehtodfromUUID(java.lang.String methodUUID) |
void |
setMethodName(java.lang.String methodName) |
void |
setPattern(java.lang.String pattern) |
void |
setTxtype(java.lang.String txtype) |
void |
setTxtype(com.frameworkset.orm.annotation.TransactionType txtype) |
public SynchronizedMethod()
public SynchronizedMethod(java.lang.reflect.Method method,
Async async)
public SynchronizedMethod(java.lang.reflect.Method method,
com.frameworkset.orm.annotation.TransactionType txtype,
java.lang.String[] rollbacksexceptions)
public long getAsyncTimeout()
public java.lang.String getAsyncCallback()
public Result getAsyncResultMode()
public static void main(java.lang.String[] args)
public java.lang.String getMethodName()
public void setMethodName(java.lang.String methodName)
public void addParam(Pro param)
public java.util.List getParams()
public java.util.List getRollbackExceptions()
public void addRollbackException(RollbackException rollbackException)
public Param getParam(java.lang.String paramtype)
public java.lang.String getUUID()
public static java.lang.String buildMethodUUID(java.lang.reflect.Method method,
java.lang.Object[] args)
method - 方法对象,存放所有的方法信息,包括方法名,方法参数类型数组,方法返回值类型,方法异常类型等等args - 方法参数public static java.lang.String buildMethodUUID(java.lang.String method,
java.lang.Class[] paramTypes)
method - 方法对象,存放所有的方法信息,包括方法名,方法参数类型数组,方法返回值类型,方法异常类型等等paramTypes - 方法参数public static SynchronizedMethod.MethodInfo refactorMehtodfromUUID(java.lang.String methodUUID) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundExceptionpublic static java.lang.String buildMethodUUID(java.lang.reflect.Method method)
public java.lang.String getPattern()
public void setPattern(java.lang.String pattern)
public boolean isPattern()
public boolean match(java.lang.reflect.Method method)
public boolean match(java.lang.reflect.Method method,
java.lang.String methodUUID)
method - 方法对象,如果method为null,将报空指针异常methodUUID - 方法惟一标识public com.frameworkset.orm.annotation.TransactionType getTxtype()
public void setTxtype(java.lang.String txtype)
txtype - public void setTxtype(com.frameworkset.orm.annotation.TransactionType txtype)
public boolean isRollbackException(java.lang.Throwable throwable)
throwable -