JBPM4.3集成SPRING之调用Srping Bean

pyantking 2010-07-16 12:27:09
我用JBPM4.3集成SPRING

第一步:将jbpm.cfg.xml中<import resource="jbpm.tx.hibernate.cfg.xml" />
修改成<import resource="jbpm.tx.spring.cfg.xml" />
文件是放在classPath下

第二步:配置applicationContext.xml
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper" />

<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />

<bean id="check" class="com.jbpm.Check"/>
其它略

第三步:创建流程文件
<process name="lr" xmlns="http://jbpm.org/4.3/jpdl">

<start name="start1" g="105,74,48,48">
<transition name="to state1" to="state1" g="-56,-22"/>
</start>

<state name="state1" g="77,164,112,76">
<on event="start">
<event-listener expr="#{check}"/>
</on>
<transition name="to end1" to="end1" g="-50,-22"/>
</state>

<end name="end1" g="108,291,48,48"/>
</process>

如果我将<event-listener expr="#{check}"/>
换成<event-listener class="com.text.check"/>,流程就可以跑成功;
需使用<event-listener expr="#{check}"/>会出现如下错误:

[02:30:38] WARN [LoadContexts ] fail-safe cleanup (collections) : org.hibernate.engine.loading.CollectionLoadContext@1be4663<rs=org.hsqldb.jdbc.jdbcResultSet@120b2da>
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.hibernate.engine.loading.LoadContexts.getCollectionLoadContext(LoadContexts.java:158)

为什么不能用#{check}呢?搞了好几天都没有搞定
...全文
126 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fireskj 2012-03-01
  • 打赏
  • 举报
回复
<event-listener expr="${check}"/> 试试这样。这样写的原因是因为这个listener使用了spring中配置的bean,如果没有使用到spring中的bean,直接写全路径应该也没有问题。
xianaofei 2010-07-16
  • 打赏
  • 举报
回复
你整合的意思混了 整合是为了使用ProcessEngine对象 具体的类貌似不支持这种写法的 没试过

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧