乡村野生草药
官方是什么? 标题太小,但有用的贡献。 Wildfly Swarm允许我们创建相当小的自包含应用程序,包括我们从Wildfly Application Server中需要的应用程序。 在这篇文章中,我们将研究与Wildfly Swarm合作使用的Drools分数 。 这部分背后的主要思想是提供一种快速的方法,将Drools Server与您自己的服务捆绑在jar文件中,该文件可以在任何地方运行。
微服务世界
如今,尽管微服务已成为一个热门话题,但我们需要确保我们可以将服务与其他软件尽可能分离地捆绑在一起。 对于此类任务,我们可以使用Wildfly Swarm,它允许我们使用一组分数而不是整个JEE容器来创建服务。 通过允许我们运行应用程序而无需下载或安装JEE容器,这也为我们节省了很多时间。 使用Swarm,我们将能够只运行java -jar <our services.jar>,我们就可以开始了。
在Drools的特定情况下,该项目提供了一个称为Kie-Server(Drools服务器)的Web应用程序,该Web应用程序提供了一组REST / SOAP / JMS端点以用作服务。 您可以将特定于域的规则加载到此服务器中,并创建新的容器以使用不同的规则集。 但是同样,如果我们要使用它,我们将需要担心如何在Tomcat,Wildfly,Jetty,WebSphere,WebLogic或任何其他Servlet容器中安装它。 这些容器中的每一个在配置方面都代表着不同的挑战,因此,我们可以开始使用Wildfly Swarm Drools Fraction,而这实际上是在Wildfly Swarm应用程序中启用Drools Server。 在某种程度上,您将Drools服务器与自己的自定义服务捆绑在一起。 这样,您可以通过执行java -jar <your.jar>启动Drools Server,然后就可以开始了。
想象一下处理Servlet容器的多个实例并将WAR文件部署到每个这些容器的另一种情况。 如果这些容器的“品牌”和版本不尽相同,那就更糟了。
因此,让我们快速看一个如何开始使用Wildfly Swarm Drools Fraction的示例。
例
我建议您先阅读Wildfly Swarm文档 ,以开始使用Wildfly Swarm。 如果您了解基础知识,则可以包括Drools Fraction。
我在这里使用此分数创建了一个示例: https : //github.com/Salaboy/drools-workshop/tree/master/drools-server-swarm
该示例的主要目的是说明让您开始使用Drools Fraction的过程非常简单,因此,在此项目中我不包括任何其他服务。 您不受此限制,可以公开自己的端点。
注意pom.xml文件中的两件事:
- Drools服务器部分: https : //github.com/Salaboy/drools-workshop/blob/master/drools-server-swarm/pom.xml#L18通过添加此依赖项,该部分将在Wildfly Swarm引导时被激活。
- wildfly-swarm插件: https : //github.com/Salaboy/drools-workshop/blob/master/drools-server-swarm/pom.xml#L25 。 注意,在插件配置中,我们指向的是App类,该类基本上只是启动容器。 (可以避免这种情况,但是我想表明,如果您要启动自己的服务或进行自己的部署,则可以在该类中进行操作)
如果通过执行mvn clean install编译和打包此项目,则将在target /目录中找到一个名为:
drools-server-swarm-1.0-SNAPSHOT-swarm.jar ,您可以通过执行
java -jar drools-server-swarm-1.0-SNAPSHOT-swarm.jar
对于此示例,在启动项目时,我们将再包含一个标志,以确保我们的Drools Server可以解决以后将要使用的伪像,因此将如下所示:
java -Dkie.maven.settings.custom=../src/main/resources/settings.xml -jar drools-server-swarm-1.0-SNAPSHOT-swarm.jar
通过在此处添加“ kie.maven.setting.custom”标志,我们让Drools Server知道我们已经配置了一个外部Maven存储库以用于解决我们的伪像。 您可以在此处找到自定义settings.xml文件 。
一旦启动此项目,一切启动(启动Wildfly-swarm内核少于2秒,启动drools服务器则少于14秒),您就可以开始使用针对特定域的规则来创建KIE容器了。
您可以在此处找到运行此应用的输出。 请注意http端口的绑定地址:
WFLYUT0006:Undertow HTTP侦听器默认侦听[0:0:0:0:0:0:0:0:0]:8083
现在,您可以开始向http:// localhost:8083 / drools发送请求以与服务器交互。
我在该项目中还包含了一个Chrome的Postman项目,供您测试一些非常简单的请求,例如:
- 获取所有已注册的容器-> GET http:// localhost:8083 / drools / server / containers
- 创建一个新容器–> PUT http:// localhost:8083 / drools / server / containers / sample
- 发送一些命令,例如“插入事实+触发所有规则”-> POST http:// localhost:8083 / drools / server / containers / instances / sample
您可以将该文件导入Postman并针对您新创建的Drools Server发出请求。 除了知道要向哪个URL进行PUT,POST或GET数据之外,您还需要了解所需的标头和身份验证详细信息:
标头
身份验证 ->基本
用户: kieserver
密码: kieserver1!
最后,您可以在此处找到小数部分的源代码: https : //github.com/wildfly-swarm/wildfly-swarm-drools
有很多可以改进的地方,可以提供帮助程序,可以修复错误,因此,如果您能完成任务,请保持联系,让我们为每个人提供更好的Drools分数。
加起来
尽管我仍在编写此部分的文档,但是您可以立即开始使用它。 请记住,这些Wildfly Swarm扩展的主要目的是使您的生活更轻松,并节省一些时间,当您需要以小包装和隔离包装的形式获取Drools Server之类的东西时,不需要安装和配置服务器。 。
如果您对Drools Fraction有任何疑问,请随时在此处写评论。
翻译自: https://www.javacodegeeks.com/2016/04/official-wildfly-swarm-drools-fraction.html
乡村野生草药