Drools7.5.0教程(7)-workserver部署
drools,是由JBOSS公司开源的一套基于JAVA的规则引擎系统
server介绍
server为drools的一个组件,drools通过workbench 打包开发部署到server上,server为规则JAR包提供了一个宿主容器,这样其他服务就可以通过http的方式,调用对应规则,这样的好处在于,要调用drools可以不再引用JAR包,并可以通过workbench功能定时扫描,实时部署。其简略的部署图如下:
server部署过程
下载依赖jar包:
javax.security.jacc:javax.security.jacc-api
org.kie:kie-tomcat-integration
org.slf4j:artifactId=slf4j-api
org.slf4j:artifactId=slf4j-jdk14
放入tomcat/lib目录下,懒得下载可以戳我下载依赖包下载地址下载h2数据库依赖包
H2数据库驱动包下载服务端war包
进入https://www.drools.org/download/download.html,下载
解压,zip包,得到 kie-server-7.4.1.Final-webc.war,解压,修改为kie-server,放入tomcat/webapps目录下。修改tomcat-users.xml 文件如下():
<?xml version="1.0" encoding="UTF-8"?> <tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0"> <role rolename="admin"/> <role rolename="PM"/> <role rolename="HR"/> <role rolename="analyst"/> <role rolename="user"/> <role rolename="kie-server"/> <user username="admin" password="admin" roles="admin,analyst,PM,HR,kie-server"/> <user username="kieserver" password="kieserver1!" roles="admin,kie-server"/> </tomcat-users>
修改 tomcat/conf/context.xml
<Resource name="sharedDataSource" auth="Container" type="org.h2.jdbcx.JdbcDataSource" user="sa" password="sa" url="jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;MVCC=TRUE" description="H2 Data Source" loginTimeout="0" testOnBorrow="false" factory="org.h2.jdbcx.JdbcDataSourceFactory"/>
如果workbench 与 server不在同一tomcat上,需要再tomcat/conf/server.xml 中最后一个host内新增
<Valve className="org.kie.integration.tomcat.JACCValve" />
在tomcat/conf 新建 xa-recovery-properties.xml 内容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <entry key="DB_1_DatabaseUser">sa</entry> <entry key="DB_1_DatabasePassword">sa</entry> <entry key="DB_1_DatabaseDynamicClass"></entry> <entry key="DB_1_DatabaseURL">java:comp/env/h2DataSource</entry> </properties>
新增或修改 setenv.sh 或者 setenv.bat 如下:
CATALINA_OPTS="-Xmx512M -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry -Dorg.kie.server.persistence.ds=java:comp/env/jdbc/jbpm -Djbpm.tm.jndi.lookup=java:comp/env/TransactionManager -Dorg.kie.server.persistence.tm=JBossTS -Dhibernate.connection.release_mode=after_transaction -Dorg.kie.server.id=kie-server -Dorg.kie.server.location=http://127.0.0.1:8080/kie-server/services/rest/server -Dorg.kie.server.controller=http://127.0.0.1:8080/kie-drools-wb/rest/controller"
set CATALINA_OPTS=-Xms512M -Xmx512M -Djava.security.auth.login.config=%CATALINA_HOME%/webapps/kie-drools-wb/WEB-INF/classes/login.config -Dorg.jboss.logging.provider=jdk -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry -Dorg.kie.server.persistence.ds=java:comp/env/jdbc/jbpm -Djbpm.tm.jndi.lookup=javacomp/env/TransactionManager -Dorg.kie.server.persistence.tm=JBossTS -Dhibernate.connection.release_mode=after_transaction -Dorg.kie.server.id=kie-server -Dorg.kie.server.location=http://127.0.0.1:8080/kie-server/services/rest/server -Dorg.kie.server.controller=http://127.0.0.1:8080/kie-drools-wb/rest/controller -Dcom.arjuna.ats.jta.recovery.XAResourceRecovery1=com.arjuna.ats.internal.jdbc.recovery.BasicXARecovery;abs://%CATALINA_HOME%/conf/xa-recovery-properties.xml
其中
Dorg.kie.server.location ,为kie-server访问地址
Dorg.kie.server.controller ,为部署workbench地址启动tomcat,在workbench server会出现如下服务器
懒得配置的同学可以下载这个资源,里面是已经配置好的tomcat,只要按照教程 将工作台与 服务端放入即可运行
drools7.5.0 tomcat下载(windows)