Drools 5使用jaxb将其公开给web应用程序和web服务(SOAP)

Drools 5使用jaxb将其公开给web应用程序和web服务(SOAP),drools,Drools,我们有需求。我们需要使用ESB和web应用程序来公开drools 5。虽然我已经找到了使用eclipse运行drools的方法,但是现在很难使用相同的web应用程序配置drools 5,将来也很难将其转换为ESB。 Guvnor和Drool服务器不仅足以帮助我,谷歌搜索也不能帮我 ,甚至弹簧支架也不可用 非常感谢您提供的任何帮助……感谢您需要在什么级别“公开”ESB中的Drools?我在使用异步web服务的企业解决方案中使用Drools;我的许多工作流程运行时间非常长(2周到一个月)。关键是在调

我们有需求。我们需要使用ESB和web应用程序来公开drools 5。虽然我已经找到了使用eclipse运行drools的方法,但是现在很难使用相同的web应用程序配置drools 5,将来也很难将其转换为ESB。 Guvnor和Drool服务器不仅足以帮助我,谷歌搜索也不能帮我 ,甚至弹簧支架也不可用


非常感谢您提供的任何帮助……感谢您需要在什么级别“公开”ESB中的Drools?我在使用异步web服务的企业解决方案中使用Drools;我的许多工作流程运行时间非常长(2周到一个月)。关键是在调用之间临时保持StatefulKnowledgeSession。有一个JPAStatefulKnowledgeSession,它序列化会话并将其作为blob存储在关系数据库中。我决定不使用此解决方案,因为我的许多异步任务在被调用后一秒钟内完成。在RDBMS中持久化流程的性能成本对于我的需求来说太高了。我的解决方案是将会话存储在内存缓存中。Infinispan的配置和使用非常简单,我对该框架没有任何问题

您是否需要让ESB和Web应用程序使用相同的KnowledgeSession?它必须是一个StatefulKnowledgeSession吗?如果需要维护状态,应该在某个时间间隔考虑基于队列的系统和FielalReules()。如果您的操作是基于命令的(插入对象、启动进程等),我相信Drools已经有了用于该模式的API(我相信Drools服务器就是这样做的)。您还可以将KnowledgeSession设置为一个单独的会话;但是考虑使用ReNANTTROLK防止对象上的并发调用。如果要隔离会话,创建自己的存储库效果最好。Infinispan的缓存实现了ConcurrentHashMap,因此您可以使用会话ID作为键,KnowledgeSession作为值