Jbpm 環境搭建
考慮原來公司使用的開源工作流引擎SHARK,新的版本不再免費與性能問題,所以決定改用JBPM。
對于JBPM的概念與思想,主要參考的官方文檔。
由于公司的持久化受SPRING托管,所以需搭建JBPM環境,并與SPRING進行整合。
環境:
Jbpm :jbpm3.2
Spring :2.0
Hibernate :3.0
Jdk :1.5_12
Eclipse :3.2.2
SpringModule :0.8
搭建:
1、spring 配置文件
1
<?xml version='1.0' encoding='UTF-8'?>
2
3
<beans xmlns="http://www.springframework.org/schema/beans"
4
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
xmlns:coherence="http://www.springmodules.org/schema/coherence"
6
xsi:schemaLocation="http://www.springframework.org/schema/beans
7
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
8
9
<!-- 加載屬性文件配置器 -->
10
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
11
<property name="locations">
12
<list>
13
<value>classpath:/jdbc.properties</value>
14
</list>
15
</property>
16
</bean>
17
18
<!-- ========================= DataBase And HibernateMappings Definitions ========================= -->
19
20
<!-- 數據庫配置開始 -->
21
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
22
<property name="driverClassName" value="${jdbc.driver}" />
23
<property name="url" value="${jdbc.url}" />
24
<property name="username" value="${jdbc.user}" />
25
<property name="password" value="${jdbc.password}" />
26
</bean>
27
28
<!-- Hibernate的配置 -->
29
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
30
<property name="dataSource" ref="dataSource" />
31
32
<property name="mappingLocations">
33
<value>classpath*:/org/jbpm/**/*.hbm.xml</value>
34
</property>
35
36
<property name="hibernateProperties">
37
<props>
38
<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
39
<prop key="hibernate.format_sql">true</prop>
40
<prop key="hibernate.use_sql_comments">true</prop>
41
<prop key="hibernate.show_sql">true</prop>
42
<prop key="hibernate.generate_statistics">false</prop>
43
<prop key="hibernate.jdbc.batch_size">25</prop>
44
<!-- 關閉二級緩存 否則 指定緩存實現 -->
45
<prop key="hibernate.cache.use_query_cache">false</prop>
46
<prop key="hibernate.cache.use_second_level_cache">false</prop>
47
</props>
48
</property>
49
<property name="eventListeners">
50
<map>
51
<entry key="merge">
52
<bean class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener" />
53
</entry>
54
</map>
55
</property>
56
</bean>
57
58
<!-- jBPM configuration-->
59
<bean id="jbpmConfiguration" class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">
60
61
<property name="sessionFactory" ref="sessionFactory" />
62
<property name="configuration" value="jbpm.cfg.xml" />
63
64
<!-- 實例流程 -->
65
<property name="processDefinitions">
66
<list>
67
<!--
68
<ref local="example" />
69
-->
70
</list>
71
</property>
72
73
<!-- 創建Schema,存在的話,會覆蓋 -->
74
<property name="createSchema" value="false" />
75
76
</bean>
77
78
<!-- jbpm例子定義文件 -->
79
<bean id="example" class="org.springmodules.workflow.jbpm31.definition.ProcessDefinitionFactoryBean">
80
<property name="definitionLocation" value="classpath:/example/processdefinition.xml" />
81
</bean>
82
83
<!-- jBPM template -->
84
<bean id="jbpmTemplate" class="org.springmodules.workflow.jbpm31.JbpmTemplate">
85
<constructor-arg index="0" ref="jbpmConfiguration" />
86
<constructor-arg index="1" ref="example" />
87
</bean>
88
89
<!-- 工作流操作 -->
90
<bean id="jbpmServer" class="com.railstone.workflow.JbpmServer">
91
<property name="jbpmTemplate" ref="jbpmTemplate" />
92
</bean>
93
94
</beans>

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

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

hibernate.cfg.xml 和 jbpm.cfg.xml 存放在classes下無需特殊配置
posted on 2007-06-25 13:46 wml 閱讀(1476) 評論(1) 編輯 收藏 所屬分類: Jbpm