JBPM4.3集成SPRING之调用Srping Bean
我用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}呢?搞了好几天都没有搞定