关于urule决策引擎客户端服务器配置的一些细节
关于urule决策引擎客户端服务器配置的一些细节
最近同事在配置客户端服务器配置时,出现了推送客户端地址失败,那么先来逐步检查一下。
1、首先确保配置的客户端ip之间是否可通的。
urule.resporityServerUrl=http://192.168.18.11:8080/urule-server
2、如果是独立服务模式下,检查当前客户端中的配置。
urule.knowledgeUpdateCycle=1
3、搭建URule Server应用后,要保证“/urule/loadknowledge”这个URL在可以匿名访问。
比如输入类似下面的地址,看看应用会有什么样的响应。
http://localhost:8080/urule-server/urule/loadknowledge
如果看到类似下图的提示界面,那么就说明“/urule/loadknowledge”这个URL在可以匿名访问,是OK的。
4、如果在configure.properties客户端配置了“urule.resporityServerUrl”属性后,要确保服务端的“urule/dynamic/checkLatestJarsDir”和“urule/dynamic/loadDynamicJars”这两个URL要保证匿名可访问,否则客户端启动时会产生错误。
5、检查web.xml
需要配置一个可以接收URule Server推送的知识包的Servlet。
<servlet><servlet-name>uruleClientServlet</servlet-name><servlet-class>com.bstek.urule.KnowledgePackageReceiverServlet</servlet-class>
</servlet>
<servlet-mapping><servlet-name>uruleClientServlet</servlet-name><url-pattern>/knowledgepackagereceiver</url-pattern>
</servlet-mapping>
注意在上面的servlet配置中,url-pattern项的“/knowledgepackagereceiver”值是固定的,不能修改为其它值,否则将无法收到URule Server上推送过来的知识包。同时,客户端中的这个用于接收知识包推送的Servlet还要保证其可以匿名访问,也就是客户端中如果被权限框架包裹,那么要保证“/knowledgepackagereceiver”这个URL在不登录的情况下就可以访问, 否则服务端将无法把知识包推送到目标客户端。
以上是个人在项目中集成urule遇到的一些问题,如有不对,欢迎读者提出。
官方文档:http://www.bstek.com/resources/doc/
关于使用开源版urule决策引擎优化性能和配置客户端集群同步生效的问题:
https://blog.csdn.net/JinKin_OldWang/article/details/90378150