在Java嵌入时间超过5分钟的情况下,避免SOA 11g超时

时间:2015-02-18 10:08:21

标签: oracle performance soa bpel soa-suite

我想在Oracle SOA 11g中运行带有Java嵌入的复合,其中有一个Java嵌入活动,可以持续超过SOA超时(目前为5分钟)。

我尝试在Java嵌入之前和之后对BPEL流程进行脱水,但如果嵌入花费的时间超过5分钟,整个实例就会出错。我甚至尝试了checkpoint();指令强制从嵌入内部脱水,但它似乎在11g中没有效果,尽管在部署复合时它没有产生错误,因为11g中存在错误。

有没有办法确保我的复合材料永远不会超时?
请记住:

  • 我无法使用简单的BPEL块执行Java嵌入中的活动
  • 我无法分解嵌入更多嵌入块并在它们之间脱水,因为有一条Java指令可能需要超过5分钟
  • 我无法更改SOA超时的5分钟值

1 个答案:

答案 0 :(得分:1)

如果事情超时,可能发送一条jms消息并让消息bean运行Java并发布它的返回。让等待的Bpel入站jms适配器轮询新发布的消息。 这意味着如果SOA套件流程引擎超时,您可能必须完全执行此操作。 这个post也可能有所帮助。另请注意底部的其他链接。

在12c中,现在可以使用BPEL的noTransaction支持解决事务超时问题。 将以下属性添加到composite.xml中的BPEL组件:     notsupported时