在linux下部署jbpm3.1.4

 
 
軟件版本:
jboss4.0.3(我採用了jbpm-starters-kit-3.1.4.zip中帶的)
ant1.7
postgersql8.1.7
jbpm3.1.4
Redhat 2.6
Eclipse 3.2.1
 
那些軟件我是到各自的官方網站下的,然後按照步驟準確地安裝好,這就不說了。
下了jbpm3.1.4的四個包:jbpm-starters-kit-3.1.4.zipJBOSS服務)、jbpm-db-3.1.4.zip(數據庫的腳本)、jbpm-3.1.4.zip(源碼,裏面包含了一個demo);另外還有個畫流程圖的ECLIPSE插件jbpm-gpd-feature-3.0.12.zip
 
解壓這些壓縮包,雙擊jbpm-starters-kit-3.1.4/jbpm-server 下的start.bat JBOSS啓動後用http://127.0.0.1:8080/jbpm 瀏覽一下就看到了那個demo 。這是小試一下。
 
接下來想講解怎麼把它部署到Redhat上(其實跟部署到WINDOWS上一摸一樣,因爲JBOSS不分OS
1 Redhat上裝好JBOSS,我直接把jbpm-starters-kit-3.1.4下的jbpm-server上傳到Linux,這樣等於安裝了JBOSS。對於初學者稍微注意一下:如果在服務器上安裝了其他WEB服務器(如Tomcat)或應用服務器,可能存在端口占用問題,啓動JBOSS的時候會報端口被佔用,在/server/default/deploy/jbossweb-tomcat55.sar/server.xml修改WEB訪問端口,在/server/default/conf/jboss-service.xml修改JBOSS的服務端口。
2 安裝postgresql 8.1.7,並創建數據庫名稱是dbtest,然後到/jbpm-db-3.1.4/build/postgresql/scripts下取postgresql.create.sql,並運行它。這樣就創建了jBPM所需的表。
3 jboss下部署數據源。如果JBOSS服務器的目錄是/jbpm-server',創建數據源的配置文件,隨便取個名字:jbpm-ds.xml,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
 <local-tx-datasource>
    <jndi-name>JbpmDS</jndi-name>
    <connection-url>jdbc:postgresql://hostIP:5432/dbtest</connection-url>
    <driver-class>org.postgresql.Driver</driver-class>
    <user-name>user</user-name>
   <password>password</password>
    <metadata>
      <type-mapping>PostgreSQL 8.1</type-mapping>
   </metadata>
 </local-tx-datasource>
</datasources>
把這個文件上傳到/server/jbpm/deploy下。
4 postgers的驅動程序postgresql-8.1-408.jdbc3.jar上傳到jbpm-server/server/jbpm/lib下。
5 jbpm.sarjbpm.war包。
(1)在源碼文件夾jbpm-3.1.4/src/resources/下創建postgresql文件夾複製 hsqldb 目錄下的2個文件 identity.db.xmlcreate.db.hibernate.propertiespostgresql目錄下create.db.hibernate.properties的內容是
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.driver_class=org.postgresql.Driver
hibernate.connection.url=jdbc:postgresql://hostIP:5432/dbtest
hibernate.connection.username=user
hibernate.connection.password=password
hibernate.show_sql=true
 
hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
 
 
(2)/jbpm-3.1.4/src/config.files hibernate.cfg.xml的數據庫鏈接內容改成:
    <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
    <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
    <property name="hibernate.connection.url">jdbc:postgresql://hostIP:5432/dbtest </property>
    <property name="hibernate.connection.username"> user</property>
    <property name="hibernate.connection.password"> password</property>
 
<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
 
(3)修改jbpm-3.1.4 /build.deploy.xml文件中 target create.db 的內容,把hsqldb改成postgresql
 
 
(4)在命令行下定位到jbpm-3.1.4目錄下執行ant create.db -buildfile build.deploy.xml生成jbpm.sar壓縮包
ant build.webapp -buildfile build.deploy.xml生成jbpm.war,其他的都是臨時文件。
 
6 jbpm指定數據源。解開jbpm.sar,查看/META-INF下的jboss-service.xml,內容應該如下:
<?xml version="1.0" encoding="UTF-8"?>
 
<server>
 <mbean code="org.jbpm.db.jmx.JbpmService" 
         name="jboss.jbpm:name=DefaultJbpm,service=JbpmService"
         description="Default jBPM Service">
    <attribute name="JndiName">java:/jbpm/JbpmConfiguration</attribute>
    <depends>jboss.jca:service=DataSourceBinding,name=JbpmDS</depends>
 </mbean>
</server>
 
另外,jbpm.sar.cfg.jar包含了hibernate的數據庫配置文件hibernate.cfg.xml
 
 
7 jbpm.sarjbpm.war上傳到JBOSS服務器的/server/jbpm/deploy下。
8 啓動JBOSS,就算環境搭建好了,這個時候可以訪問jbpm的頁面了,只是沒流程數據。如果需要部署一個流程,利用畫圖插件畫好流程模型,然後調用引擎提供的流程模型解析接口就可以了,這個例子請參照http://www.blogjava.net/chengang/category/12967.html,裏面描述得非常清楚。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章