Drools WorkBench 安装(Mysql版)

来源:互联网 发布:卡二的网络不好 编辑:程序博客网 时间:2024/06/06 02:40

声明:安装手册使用的安装包为 kie-drools-wb-6.5.0.Final-tomcat7.war,
下载链接为 https://download.jboss.org/drools/release/6.5.0.Final/kie-drools-wb-6.5.0.Final-tomcat7.war 。

1. 在 Tomcat7 中安装 bitronix 事务管理器

拷贝下面的依赖包到 TOMCAT_HOME/lib 目录,可通过Maven仓库查找并下载:

  • btm-2.1.4.jar
  • btm-tomcat55-lifecycle-2.1.4.jar
  • mysql-connector-java-6.0.5.jar
  • jta-1.1.jar
  • slf4j-api-1.7.2.jar
  • slf4j-jdk14-1.7.2.jar

注意: 依赖包的版本可以不同,列出的只是写文档时的实际版本.

2. 在 TOMCAT_HOME/conf 下面创建如下配置

2.1. btm-config.properties 配置

bitronix.tm.serverId=tomcat-btm-node0
bitronix.tm.journal.disk.logPart1Filename=${btm.root}/work/btm1.tlog
bitronix.tm.journal.disk.logPart2Filename=${btm.root}/work/btm2.tlog
bitronix.tm.resource.configuration=${btm.root}/conf/resources.properties
bitronix.tm.2pc.warnAboutZeroResourceTransactions=false

2.2. resources.properties 配置

resource.ds1.className=bitronix.tm.resource.jdbc.lrc.LrcXADataSource
resource.ds1.uniqueName=jdbc/jbpm
resource.ds1.minPoolSize=10
resource.ds1.maxPoolSize=20
resource.ds1.driverProperties.driverClassName=com.mysql.cj.jdbc.Driver
resource.ds1.driverProperties.url=jdbc:mysql://localhost:3306/drools?useUnicode=true&characterEncoding=UTF-8
resource.ds1.driverProperties.user=root
resource.ds1.driverProperties.password=123456
resource.ds1.allowLocalTransactions=true

注意:此处需要在数据库里面创建一个名称为 drools 的库。

3. 修改 TOMCAT_HOME/conf/context.xml

<Resource name="jdbc/jbpm" auth="Container"     type="javax.sql.DataSource" driverClassName="com.mysql.cj.jdbc.Driver"    url="jdbc:mysql://localhost:3306/drools?useUnicode=true&amp;characterEncoding=UTF-8"    username="root" password="123456" maxActive="20" maxIdle="1" maxWait="5000"/>

4. 修改Hibernate方言设置

4.1. 解压缩安装包

将下载好的 war 包在 tomcat/webapps 目录下进行解压缩,并指定解压缩路径为 kie-drools-wb,Linux下命令如下:

unzip kie-drools-wb-6.5.0.Final-tomcat7.war -d kie-drools-wb

4.2. 修改 WEB-INF/classes/META-INF/persistence.xml

将默认的 H2Dialect 修改为我们需要的 MySQL5Dialect
原始:

<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>

修改为:

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>

5. 为 btm.root, bitronix config file, JBoss logging provider 等定义系统属性.

在 TOMCAT_HOME/bin 下创建 setenv.sh (or setenv.bat),并将下面内容添加进去,此处需要设定环境变量 CATALINA_HOME 指向 tomcat 的安装目录:

CATALINA_OPTS=”-Xmx512M -XX:MaxPermSize=258m -Dbtm.root=$CATALINA_HOME \
-Dorg.uberfire.async.executor.safemode=true \
-Dbitronix.tm.configuration=$CATALINA_HOME/conf/btm-config.properties \
-Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry \
-Djava.security.auth.login.config=$CATALINA_HOME/webapps/kie-drools-wb/WEB-INF/classes/login.config \
-Dorg.kie.demo=false
-Dorg.jboss.logging.provider=jdk”

注意: 以 Debian 为基础的系统需要将 $CATALINA_HOME 替换成 $CATALINA_BASE. ($CATALINA_HOME 默认为 /usr/share/tomcat7 而 $CATALINA_BASE 默认为 /var/lib/tomcat7/)

注意: 这是一个以类 unix 系统的例子,在 Windows 环境下 $CATALINA_HOME 不需要使用 Windows 环境变量或者绝对路径进行替换.

注意: java.security.auth.login.config 的值中包括应用发布的名称,默认为 kie-drools-wb,所以请确保该值与真实的发布名称相匹配. 这意味 login.config 可以使用 war 包外部的文件进行替代.


6. 为 kie-drools-wb 在 tomcat 上增加 JEE 安全配置 (默认使用 tomcat-users.xml 来做支持)

  1. 拷贝 “kie-tomcat-integration” JAR 到 TOMCAT_HOME/lib (org.kie:kie-tomcat-integration)

  2. 拷贝 “JACC” JAR 到 TOMCAT_HOME/lib (javax.security.jacc:artifactId=javax.security.jacc-api)

  3. 拷贝 “slf4j-api” JAR 到 TOMCAT_HOME/lib (org.slf4j:artifactId=slf4j-api)(第一步已完成该操作)

  4. 在 TOMCAT_HOME/conf/server.xml 的 Host 元素中添加如下 valve 配置:

<Valve className="org.kie.integration.tomcat.JACCValve" />
  1. 在 TOMCAT_HOME/conf/tomcat-users.xml 中添加角色和用户, 使用 kie-wb 需要使用角色 ‘analyst’ 或 ‘admin’。
<user username="kie" password="kie" roles="admin"/>

最后,启动 Tomcat 服务器,使用地址 http://{host}:{port}/kie-drools-wb/index.jsp 进行访问,使用 kie/kie 进行登录。

安装过程中可能出现的问题:

警告: ThreadLocal with key of type [org.jboss.errai.config.util.ClassScanner$1]

解决方法:该问题是因为在使用 Tomcat 部署KIE Workbench 时,会尝试访问 GITHUB 拉取一个例子工程,而无法正常访问网络。只需要在 setenv.sh 里面增加配置项 -Dorg.kie.demo=false 即可(文中配置已添加)。

警告: Environment variable M2_HOME is not set

解决方法:在本机上安装Maven,并在环境变量中配置 M2_HOME 为 Maven 安装路径即可。

警告: static marshallers were not found.
警告: using dynamic marshallers. dynamic marshallers are designed for development mode testing, and ideally should not be used in production. *

解决方法:无,WorkBench的Bug,暂没有修复计划,参考 https://issues.jboss.org/browse/JBPM-4754