我有两个工作流服务(状态机),它们应该合作并交换信息以完成所需的行为。
我遇到的问题(但我也只有一台状态机)是有时我尝试发送当前状态不允许的操作。
有两个问题:1)我必须等待操作超时才能知道该操作是不允许的 2)由于其他问题,我正在“屏蔽”真正的超时
到目前为止,我找到了两种可能的解决方案:1)我可以更改签名以返回 true(允许)和 false(不允许)并将所有操作添加到所有状态,(不允许的操作会触发自我转换) 2)我总是将所有转换添加到所有状态(不允许将触发自转换)但对于不允许的转换,我将发送异常
我想知道哪个是最好的选择(当然,我也很欣赏其他可能的解决方案)。我还想知道如何回复带有异常的请求(也许将其扔在 try/catch 中?)。
谢谢