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包下
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/12138.html