我编写了一个事件处理程序来拦截role_assignment和role_revoke操作。
我需要在远程服务器上运行一些网络服务,如果响应为 200 _ 确定,我什么也不想做。
但是,如果响应不是 200,我需要失败角色分配。
我应该怎么做?
失败时,应从事件处理程序的 execute
方法的主体中引发EventFailedException
。这会将业务流程标记为失败。失败的业务流程将在已完成的所有事件处理程序上调用 compensate
,然后在 FAILED 状态下干净退出。(可以查询ORCHPROCESS
表以查找失败的业务流程。
有关此例外,请参阅JavaDoc:https://docs.oracle.com/cd/E52734_01/oim/OMJAV/oracle/iam/platform/kernel/EventFailedException.html
Oracle关于开发自定义事件处理程序的文档:https://docs.oracle.com/cd/E27559_01/dev.1112/e27150/oper.htm#BGBHBIFH
(这是针对早期版本的,但在更高版本中基本相同。
我会向流程任务添加一些东西来处理来自那里的 Web 服务的响应。