JFinal2.1中全局拦截器中配置多个事务规则时报错

hypocrite11 发布于 2016/01/06 09:50
阅读 1K+
收藏 1

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

@JFinal 你好,想跟你请教个问题:

JFinal2.1中在Config中加入事务拦截时,从第三个事务规则开始报错,不能定义多个规则吗?

2.0好像没有报错。@JFinalUIB中就是这样配置的。

/**
* 配置全局拦截器
*/
public void configInterceptor(Interceptors me) {

me.add(new GlobalInterceptor());

//配置开启事务规则
me.add(new TxByMethods("save", "update", "delete"));
me.add(new TxByMethodRegex(".*save.*"));
me.add(new TxByMethodRegex(".*update.*"));
me.add(new TxByMethodRegex(".*delete.*"));

}

报错信息:

java.lang.IllegalArgumentException: interceptor already exists, interceptor must be singlton, do not create more then one instance of the same Interceptor Class.
at com.jfinal.aop.InterceptorManager.addGlobalInterceptor(InterceptorManager.java:192)
at com.jfinal.aop.InterceptorManager.addGlobalActionInterceptor(InterceptorManager.java:175)
at com.jfinal.config.Interceptors.add(Interceptors.java:34)
at com.platform.config.run.BackConfig.configInterceptor(BackConfig.java:104)
at com.jfinal.core.Config.configJFinal(Config.java:50)
at com.jfinal.core.JFinal.init(JFinal.java:62)
at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4574)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5193)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

加载中
1
JFinal
JFinal
该评论暂时无法显示,详情咨询 QQ 群:点此入群
JFinal
JFinal
回复 @Jimmy哥 : 眼尖啊,一时手误造成的
Jimmy哥
Jimmy哥
波总,正则表达式 new TxByMethodRegex("(*.save.*|*.update.*|*.delete.*)") 和 new TxByMethodRegex("(.*save.*|.*update.*|.*delete.*)") 不一样的吧... (.和*的位置)
h
hypocrite11
明白了,谢谢。
0
FT
FT
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
h
hypocrite11
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
littleant
littleant

me.add(new TxByMethodRegex("(.*save.*|.*update.*|.*delete.*)")); 

// 多方法名匹配使用一个正则匹配,2.1只支持单实例注册

h
hypocrite11
明白了,谢谢
0
JFinal
JFinal
该评论暂时无法显示,详情咨询 QQ 群:点此入群
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部