我在连接到 Postgresql 9 DB 的 WSO2 BPS 3.0.0 上的 bpel 进程中开发了一个池逻辑。它看起来像这样:
<bpel:repeatUntil name="RepeatUntilIncidentCompleted">
<bpel:sequence name="CheckIncidentStatus">
<bpel:wait name="Wait">
<bpel:for expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA['PT1M']]></bpel:for>
</bpel:wait>
<!-- invoke a service, copy status to a vStatus variable -->
</bpel:sequence>
<bpel:condition expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[$vStatus=36]]></bpel:condition>
我创建了一个流程实例,这个循环运行良好。后来我重新启动了 WSO2 BPS 服务器。在重新启动的那一刻,流程实例处于循环中,但重新启动后循环不再运行。该过程在碳控制台中被标记为活动。
我在 deploy.xml 中添加了 in-memory=false 属性,但没有帮助。
我可能错过了一些配置,但这样的循环也可能存在持久性问题(可能在 Apache ODE 中)。
有谁知道这个问题的解决方案?提前谢谢。