jbpm与spring hibernate struts整合

applicationContext.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?xml version= "1.0"  encoding="UTF-8"?>
<beans xmlns= "http://www.springframework.org/schema/beans"
     xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  xmlns:context="http://www.springframework.org/schema/context"
     xmlns:tx= "http://www.springframework.org/schema/tx"
     xsi:schemaLocation="http: //www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                 http: //www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
                 http: //www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
 
 
     <!-- 自动扫描与装配bean -->
     <context:component-scan base- package = "cn.itcast.oa" ></context:component-scan>
 
 
     <!-- 导入外部的properties配置文件 -->
     <context:property-placeholder location= "classpath:jdbc.properties"  />
 
 
     <!-- 配置数据库连接池 -->
     <bean id= "dataSource"  class="com.mchange.v2.c3p0.ComboPooledDataSource">
         <!-- =========== 数据库连接信息 =========== -->
         <property name= "jdbcUrl"  value="${jdbcUrl}"></property>
         <property name= "driverClass"  value="${driverClass}"></property>
         <property name= "user"  value="${username}"></property>
         <property name= "password"  value="${password}"></property>
         <!-- =========== 连接池的管理配置 =========== -->
         <!--初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default:  3  -->
         <property name= "initialPoolSize"  value="3"></property>
         <!--连接池中保留的最小连接数。Default:  3  -->
         <property name= "minPoolSize"  value="3"></property>
         <!--连接池中保留的最大连接数。Default:  15  -->
         <property name= "maxPoolSize"  value="5"></property>
         <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default:  3  -->
         <property name= "acquireIncrement"  value="3"></property>
         <!--
             控制数据源内加载的PreparedStatements数量。如果maxStatements与maxStatementsPerConnection均为 0 ,则缓存被关闭。Default:
             0
         -->
         <property name= "maxStatements"  value="8"></property>
         <!--
             maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default:  0
         -->
         <property name= "maxStatementsPerConnection"  value="5"></property>
         <!--最大空闲时间, 1800 秒内未使用则连接被丢弃。若为 0 则永不丢弃。Default:  0  -->
         <property name= "maxIdleTime"  value="1800"></property>
     </bean>
 
 
     <!-- 配置SessionFactory -->
     <bean id= "sessionFactory"
         class = "org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
         <property name= "dataSource"  ref="dataSource"></property>
         <property name= "configLocation"  value="classpath:hibernate.cfg.xml"></property>
     </bean>
 
 
 
     <!-- 配置声明式的事务管理(采用基于注解的方式) -->
     <bean id= "txManager"  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
         <property name= "sessionFactory"  ref="sessionFactory"></property>
     </bean>
     <tx:annotation-driven transaction-manager= "txManager"  />
 
 
 
     <!-- 配置JBPM的ProcessEngine,注意配置文件的路径要写正确! -->
     <bean id= "springHelper"  class="org.jbpm.pvm.internal.processengine.SpringHelper">
         <property name= "jbpmCfg"  value="jbpm.cfg.xml"></property>
     </bean>
     <bean id= "processEngine"  factory-bean="springHelper" factory-method="createProcessEngine" />
 
 
 
</beans>

  hibernate.cfg.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<!DOCTYPE hibernate-configuration PUBLIC
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
     "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd" >
 
<hibernate-configuration>
<session-factory>
 
     <!-- 数据连接信息
         <property name= "hibernate.connection.url" >jdbc:mysql: ///itcastoa</property>
         <property name= "hibernate.connection.driver_class" >com.mysql.jdbc.Driver</property>
         <property name= "hibernate.connection.username" >root</property>
         <property name= "hibernate.connection.password" > 1234 </property>
     -->
 
     <property name= "hibernate.dialect" >
         org.hibernate.dialect.MySQL5InnoDBDialect
     </property>
 
     <!-- 其他配置信息 -->
     <property name= "show_sql" > true </property>
     <property name= "hbm2ddl.auto" >update</property>
 
 
     <!-- 这些映射文件是JBPM的,不能删除!!! -->
     <mapping resource= "jbpm.repository.hbm.xml"  />
     <mapping resource= "jbpm.execution.hbm.xml"  />
     <mapping resource= "jbpm.history.hbm.xml"  />
     <mapping resource= "jbpm.task.hbm.xml"  />
     <mapping resource= "jbpm.identity.hbm.xml"  />
 
 
     <!-- 声明映射文件 -->
     <mapping resource= "cn/itcast/oa/domain/User.hbm.xml"  />
     <mapping resource= "cn/itcast/oa/domain/Role.hbm.xml"  />
     <mapping resource= "cn/itcast/oa/domain/Department.hbm.xml"  />
     <mapping resource= "cn/itcast/oa/domain/Privilege.hbm.xml"  />
     <mapping resource= "cn/itcast/oa/domain/Forum.hbm.xml"  />
     <mapping resource= "cn/itcast/oa/domain/Reply.hbm.xml"  />
     <mapping resource= "cn/itcast/oa/domain/Topic.hbm.xml"  />
     <mapping resource= "cn/itcast/oa/domain/Template.hbm.xml"  />
 
 
</session-factory>
</hibernate-configuration>

删除:src/jbpm.hibernate.cfg.xml  

 

jbpm.cfg.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version= "1.0"  encoding="UTF-8"?>
 
<jbpm-configuration>
 
     < import  resource="jbpm.default.cfg.xml" />
     < import  resource="jbpm.businesscalendar.cfg.xml" />
 
     <!-- 删除此项配置
     < import  resource="jbpm.tx.hibernate.cfg.xml" />
     -->
 
     <!-- 导入jbpm.tx.spring.cfg.xml文件 -->
     < import  resource="jbpm.tx.spring.cfg.xml" />
 
 
     < import  resource="jbpm.jpdl.cfg.xml" />
     < import  resource="jbpm.bpmn.cfg.xml" />
     < import  resource="jbpm.identity.cfg.xml" />
 
     <!-- Job executor is excluded  for  running the example test cases. -->
     <!--
         To enable timers and messages in production use,  this  should be
         included.
     -->
     <!--
   < import  resource="jbpm.jobexecutor.cfg.xml" />
   -->
 
</jbpm-configuration>

  测试:

1
2
3
4
5
@Test
public  void testProcessEngine() throws Exception {
     ProcessEngine processEngine = (ProcessEngine) ac.getBean( "processEngine" );
     System.out.println(processEngine);
}

  业务层获取ProcessEngine方式:

@Resource

private ProcessEngine processEngine

 

 

   

注意:如果启动程序的时候包错的内容是关于el表达式错误信息

处理方式:

  里面不包含jbpm的juel-api.jar juel-engine.jar juel-impl.jar这三个jar包 ,因为这三个jar包自带的el表达式需要的jar包 而且版本比tomcat里面自带的lib包的el.jar版本高,所有应该删除jbpm的这三个jar包 拷贝到tomcat的lib包下

转载于:https://www.cnblogs.com/HHR-SUN/p/7220430.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值