0
点赞
收藏
分享

微信扫一扫

信息: org.jbpm.JbpmException: closed JbpmContext in different order then they were creat


刚接触 jbpm  刚才遇到这个错误:
closed JbpmContext in different order then they were created... check your try-finally's around JbpmContexts blocks
我百思不得其解 ,网上说是 hibernate的 session没关闭,在搜索也就是javaeye那几个。查看了源代码 有这句话:

if (jbpmContext!=popped) {
      throw new JbpmException("closed JbpmContext in different order then they were created... check your try-finally's around JbpmContexts blocks");
    }


因为设置的有一个filter

<filter>
  <filter-name>JbpmContextFilter</filter-name>
  <filter-class>org.jbpm.web.JbpmContextFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>JbpmContextFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>


所以我大概猜到了,这个filter对于每一次请求都会产生一个jbpmContext ,所以它要和你当前jsp页面中的jbpmContext对象与已经通过filter产生对比,如果不一样就抱这个错误,正好看到 有这个方法
JbpmContext jbpmContext = JbpmConfiguration.getInstance().getCurrentJbpmContext();
而我之前用的是:
JbpmContext jbpmContext = JbpmConfiguration.getInstance().createJbpmContext();
所以知道了。和Hibernate中的session差不多啦。找到答案!

举报
0 条评论