在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,里面描述得非常清楚。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章