概述:本例使用jbpm3 + hibernate3+struts2+Spring2
配置设置:
1 hibernate3+struts2+Spring2 的配置不在赘述;
2 修改jbpm.cfg.xml。注释掉获取hibernate.cfg.xml的配置
<!-- 取出本句话
<string name="resource.hibernate.cfg.xml" value="hibernate.cfg.xml" />-->
3 将Jbpm3融合配置:
(1) 下载 spring-modules-jbpm31.jar
(2) 配置sessionFactory
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
</list>
</property>
<property name="mappingLocations">
<list>
<value>classpath*:/org/jbpm/**/*.hbm.xml</value>
</list>
</property>
<!-- 大对象处理器 -->
<property name="lobHandler" ref="lobHandler" />
<!-- 可以同时支持annotatedClasses和hbm-->
<property name="packagesToScan">
<list>
<value>ins.platform.**.model</value>
<value>com.sinosoft.bgt.**.model</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect"> ${hibernate.dialect} </prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">trur</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.hbm2ddl.auto">none</prop>
</props>
</property>
</bean>
(3) 配置jbpmConfiguration
<bean id="jbpmConfiguration"
class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">
<property name="sessionFactory" ref="sessionFactory" />
<property name="configuration" value="classpath:/jbpm.cfg.xml" />
<property name="processDefinitions">
<list>
<!--此处配置流程 -->
<ref bean="workWorkflow" />
</list>
</property>
<!-- createSchema设置 false ,防止每次启动实例化 -->
<property name="createSchema" value="false" />
</bean>
(4) 配置 jbpmTemplate
<bean id="jbpmTemplate" class="org.springmodules.workflow.jbpm31.JbpmTemplate">
<constructor-arg index="0" ref="jbpmConfiguration"/>
<!-- -->
<!-- <constructor-arg index="1" ref="workWorkflow"/> -->
</bean>
配置完以上四点后就已经可以实现基本的流程,实例流程,查询的方法了
*(5)配置实例化的工作流(不是必要)
<bean id="workWorkflow" class="org.springmodules.workflow.jbpm31.definition.ProcessDefinitionFactoryBean">
<property name="definitionLocation" value="classpath:/process/budget_branch_verify/budget_branch_verify.zip"/>
</bean>
以上是我的配置:
注意点:
1 测试配置不要再main方法中测试,会报得不到数据源的问题。(小弟被此问题搞了一天以为配置有问题,转换到JUnitTest后没有问题了,泪崩)。
还存在的问题:本人配置的可以显示流程的实例,流程的查询都是没问题的。但是没有实现流程的部署,本人的流程不熟还是和经典的借款审批工作流一样走main方法,数据源从hibernate.cfg.xml获得。
如有问题,请指正。谢谢