網上有好多關于jbpm獨立部署的資料,但好多人是在已有的系統的部署jbpm,這里就說下如何在ssh框架的基礎上配置jbpm3。
1. 環境:jbpm3.2.3+struts2+spring3+hibernate 工具:myeclipse6.5
2. 環境和工具都準備好,開始新建數據庫,前面jbpm3數據庫表的創建與解釋有說明
3. 使用spring配置數據源,applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url"
value="jdbc:mysql://localhost:3306/eteares">
</property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>

<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLInnoDBDialect
</prop>
<!-- 是否根據需要每次自動創建數據庫 -->
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!-- 顯示hibernate持久化操作時產生的SQL -->
<prop key="hibernate.show_sql">true</prop>
<!-- 將SQL格式化后再輸出 -->
<prop key="hibernate.format_sql">true</prop>
</props>
</property>

<property name="mappingLocations">
<list>
<value>classpath*:/cn/edu/ujn/wsjx/model/*.hbm.xml</value>
<value>classpath*:/org/jbpm/**/*.hbm.xml</value>
</list>
</property>
</bean>
</beans>
上面代碼的紅色部分,<value>classpath*:/org/jbpm/**/*.hbm.xml</value> 是jbpm需要的所有映射文件,*為通配符。
4. 使用eclipse的jbpm插件圖形化定義流程,把生成的三個文件打包成work.zip
5. 在spring中配置jbpm,applicationContext-jbpm.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- 指定Spring配置文件的DTD信息 -->
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<!-- Spring配置文件的根元素 -->

<beans>

<!-- 通過啟動服務自動發布流程 -->
<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 local="workWorkflow"/>
</list>
</property>
<property name="createSchema" value="false"/>

</bean>
<bean id="workWorkflow" class="org.springmodules.workflow.jbpm31.definition.ProcessDefinitionFactoryBean">
<property name="definitionLocation" value="classpath:jbpm/work/work.zip"/>
</bean>

<bean id="workTemplate" class="org.springmodules.workflow.jbpm31.JbpmTemplate">
<constructor-arg index="0" ref="jbpmConfiguration"/>
<constructor-arg index="1" ref="workWorkflow"/>
</bean>
</beans>
可以看出,這里配置的是通過啟動服務器,自動加載流程的發布。
6. 很重要的是,在web.xml中添加spring啟動時加載文件
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/spring/applicationContext.xml,/WEB-INF/classes/spring/applicationContext-*.xml,/WEB-INF/classes/spring/daoContext.xml
</param-value>
</context-param>
這里用到了重新編譯后的spring-modules-jbmp31.jar包,更改后支持發布zip格式的定義,文件包含在后面的鏈接中,可以下載下來參考WebRoot
后面會繼續更新 手動發布流程定義 的文章
1. 環境:jbpm3.2.3+struts2+spring3+hibernate 工具:myeclipse6.5
2. 環境和工具都準備好,開始新建數據庫,前面jbpm3數據庫表的創建與解釋有說明
3. 使用spring配置數據源,applicationContext.xml













































4. 使用eclipse的jbpm插件圖形化定義流程,把生成的三個文件打包成work.zip
5. 在spring中配置jbpm,applicationContext-jbpm.xml



































6. 很重要的是,在web.xml中添加spring啟動時加載文件






這里用到了重新編譯后的spring-modules-jbmp31.jar包,更改后支持發布zip格式的定義,文件包含在后面的鏈接中,可以下載下來參考WebRoot
后面會繼續更新 手動發布流程定義 的文章