一、 工具下載及準備工作
JDK下載及安裝:下載JDK後安裝,配置:
安裝ANT:
下載JBPM:
jbpm下載地址 http://sourceforge.net/projects/jbpm/files/,下載後的文件爲:jbpm-5.4.0.Final-installer-full.zip
mysq驅動:將mysql驅動jar包拷貝到 jbpm解壓目錄\db\driver 目錄下,並且命名爲: mysql-connector-java.jar
二、修改配置文件
在mysql中建立兩個數據庫jbpm5以及task
- mysql> CREATE SCHEMA IF NOT EXISTS jbpm5;
- mysql> CREATE USER 'jbmp5'@'localhost' IDENTIFIED BY 'jbpm5';
- mysql> GRANT ALL PRIVILEGES ON jbpm5.* TO 'jbpm5'@'localhost';
- mysql> CREATE SCHEMA IF NOT EXISTS task;
- mysql> CREATE USER 'task'@'localhost' IDENTIFIED BY 'task';
- mysql> GRANT ALL PRIVILEGES ON task.* TO 'task'@'localhost';
build.properties
Change
- # data base related properties
- db.driver.jar=${install.home}/db/driver/${db.driver.jar.name}
- db.driver.module.dir=${jboss.home}/modules/${db.driver.module.prefix}/main/
- # default is H2
- db.name=h2
- db.driver.jar.name=${db.name}.jar
- db.driver.download.url=http://repo1.maven.org/maven2/com/h2database/h2/${H2.version}/h2-${H2.version}.jar
- #other options are mysql
- # db.name=mysql
- # db.driver.module.prefix=com/mysql
- # db.driver.jar.name=${db.name}-connector-java.jar
- # db.driver.download.url=https://repository.jboss.org/nexus/service/local/repositories/central/content/mysql/mysql-connector-java/5.1.18/mysql-connector-java-5.1.18.jar
- #postresql
- # db.name=postresql
- # db.driver.module.prefix=org/postgresql
- # db.driver.jar.name=${db.name}-jdbc.jar
- # db.driver.download.url=https://repository.jboss.org/nexus/content/repositories/thirdparty-uploads/postgresql/postgresql/9.1-902.jdbc4/postgresql-9.1-902.jdbc4.jar
To
- # data base related properties
- db.driver.jar=${install.home}/db/driver/${db.driver.jar.name}
- db.driver.module.dir=${jboss.home}/modules/${db.driver.module.prefix}/main/
- # default is H2
- # db.name=h2
- # db.driver.jar.name=${db.name}.jar
- # db.driver.download.url=http://repo1.maven.org/maven2/com/h2database/h2/${H2.version}/h2-${H2.version}.jar
- #other options are mysql
- db.name=mysql
- db.driver.module.prefix=com/mysql
- db.driver.jar.name=${db.name}-connector-java.jar
- db.driver.download.url=https://repository.jboss.org/nexus/service/local/repositories/central/content/mysql/mysql-connector-java/5.1.18/mysql-connector-java-5.1.18.jar
- #postresql
- # db.name=postresql
- # db.driver.module.prefix=org/postgresql
- # db.driver.jar.name=${db.name}-jdbc.jar
- # db.driver.download.url=https://repository.jboss.org/nexus/content/repositories/thirdparty-uploads/postgresq
db/jbpm-persistence-JPA2.xml
Change
- <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
To
- <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
db/task-persistence-JPA2.xml
Change
- <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
To
- <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
standalone.xml
Change
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<datasource jta="true" jndi-name="java:jboss/datasources/jbpmDS" pool-name="H2DS" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:h2:~/jbpm</connection-url>
<driver>h2</driver>
<pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>4</max-pool-size>
<prefill>false</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>sa</user-name>
</security>
<validation>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
To
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/jbpm5</connection-url>
<driver>mysql</driver>
<security>
<user-name>jbpm5</user-name>
<password>jbpm5</password>
</security>
</datasource>
<datasource jta="true" jndi-name="java:jboss/datasources/jbpmDS" pool-name="H2DS" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:mysql://localhost:3306/jbpm5</connection-url>
<driver>mysql</driver>
<pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>4</max-pool-size>
<prefill>false</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>jbpm5</user-name>
<password>jbpm5</password>
</security>
<validation>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
</datasource>
<drivers>
<driver name="mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
task-service/resources/META-INF/persistence.xml
Change
- <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
- <property name="hibernate.connection.driver_class" value="org.h2.Driver"/>
- <property name="hibernate.connection.url" value="jdbc:h2:tcp://localhost/runtime/task" />
- <property name="hibernate.connection.username" value="sa"/>
- <property name="hibernate.connection.password" value=""/>
To
- <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
- <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
- <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/task" />
- <property name="hibernate.connection.username" value="task"/>
- <property name="hibernate.connection.password" value="task"/>
修改db/mysql_module.xml中jar的名稱爲mysql.jar,與db/drivers中的jar名稱對應。
- <resource-root path="mysql-connector-java.jar"/>
- </resources>
- <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
- <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
- <property name="hibernate.hbm2ddl.auto" value="create" />
- 在
- <java classname="org.jbpm.DemoTaskService" fork="true">
- <classpath>
- <pathelement path="${install.home}/task-service/target"/>
- <path refid="classpath.human.task" />
- </classpath>
- </java>
- 中加
- <sysproperty key="jbpm.user.group.mapping" value="file:///F:/PDF/jbpm/jbpm-installer/jboss-as-7.1.1.Final/standalone/configuration/roles.properties"/>
- 變爲
- <java classname="org.jbpm.DemoTaskService" fork="true">
- <sysproperty key="jbpm.user.group.mapping" value="file:///F:/PDF/jbpm/jbpm-installer/jboss-as-7.1.1.Final/standalone/configuration/roles.properties"/>
- <classpath>
- <pathelement path="${install.home}/task-service/target"/>
- <path refid="classpath.human.task" />
- </classpath>
- </java>
- 根據你的實際目錄修改
如果以前在非mysql中已經安裝過jbpm,可以運行以下腳本先清除安裝
ant clean.demo
安裝:
- ant install.demo
- 或
- ant install.demo.noeclipse
執行 ant start.human.task
創建task數據庫表 ,出現task service running後,可以按Ctrl+C,再按退出創建。這時查看task數據庫可以看到創建了很多表。
執行
ant start.jboss
創建jbpm數據庫,啓動jboss
測試是否啓動成功,可以用瀏覽器打開:http://localhost:8080/jbpm-console,用"krisv" / "krisv"。
並且查看jbpm5數據庫可以看到創建了很多表;如果沒有表,證明還沒有運行成功,可以查看jbpm安裝目錄\jboss-as-7.1.1.Final\standalone\log
下的server.log查看錯誤日誌。有時可能因爲mysql用戶權限的問題,可以修改standalone.xml,改成使用root用戶後,重新install.demo.noeclipse一次
停止腳本:ant stop.jboss
成功關閉後修改安裝目錄下\jboss-as-7.1.1.Final\standalone\deployments\jbpm-gwt-console-server.war\WEB-INF/classes/META-INF/persistence.xml文件中的hibernate.hbm2ddl.auto。
在jbpm的根目錄下找到build.properties,打開後修改eclipse.home
,改爲你的eclipse路徑(注意是/而不是\)
如eclipse.home=d:/eclipse
然後執行
ant
install.droolsjbpm-eclipse.into.eclipse
也可以不輸入命令:進入到jbpm的lib文件夾,把org.drools.updatesite-5.3.1.Final-assembly.zip包內的plugins和features複製到Eclipse目錄下即可