其实本来我也是打算使用Tomcat来部署Workbench的,但是在网上看了几篇文章,超级繁琐的配置、各种版本。实在看不下去了索性就直接使用Docker来部署了。本次部署的版本是最新稳定版,对应drools的7.14.0.Final版本。
docker pull jboss/drools-workbench-showcase:latest
镜像文件比较大,870多M,可能需要一些时间,不要着急。
镜像拉取完毕后首先通过以下命令启动
docker run -p 8080:8080 -p 8001:8001 -d --name drools-workbench jboss/drools-workbench-showcase:latest
进入容器
docker exec -it 容器id /bin/bash
Workbench的日志存在/opt/jboss/wildfly/standalone/log/目录
我们现在要做的是进入/opt/jboss/wildfly/standalone/configuration目录,打开standalone-full-drools.xml文件新增一条配置
<property name="org.uberfire.nio.git.dir" value="/opt/jboss/wildfly/mygit"/>
然后退出容器之后重启一下容器
docker restart 容器id
紧接着你就可以去浏览器访问了:ip:8080/drools-wb
使用默认用户名密码admin登陆系统,在欢迎页选择新建一个projects
按照如下操作创建一个项目
接着呢,进入drools-test项目,点击屏幕右方的Add Asset按钮。我在这里为大家演示一下下方的三个如何操作,剩下就要靠你自己去探索了。
其实源码就跟我第一篇文章写的HelloWord差不多
ip:8080/drools-wb/maven2/cn/org/zhixiang/drools-test/0.0.1/drools-test-0.0.1.jar
规则文件既然已经发布了,那么接下来就是Java出场的时候了。
@RunWith(SpringRunner.class)public class DroolsApplicationWorkBenchTests { @Test public void testWorkbench() { String url = "http://ip:8080/drools-wb/maven2/cn/org/zhixiang/drools-test/0.0.1/drools-test-0.0.1.jar"; KieServices kieServices = KieServices.Factory.get(); KieRepository kieRepository = kieServices.getRepository(); UrlResource resource = (UrlResource) kieServices.getResources().newUrlResource(url); resource.setBasicAuthentication("enabled"); resource.setPassword("admin"); resource.setUsername("admin"); InputStream is = null; try { is = resource.getInputStream(); } catch (IOException e) { e.printStackTrace(); } KieModule kieModule = kieRepository.addKieModule(kieServices.getResources().newInputStreamResource(is)); KieContainer kieContainer = kieServices.newKieContainer(kieModule.getReleaseId()); KieSession kieSession = kieContainer.newKieSession(); Dog dog = new Dog(); dog.setName("大黄"); kieSession.insert(dog); kieSession.fireAllRules(); }}
执行完测试方法以后你的控制台打印出了大黄出场四个字么?