Oracle Bpel 11g中的TimeOut问题

时间:2013-06-14 08:21:30

标签: oracle oracle11g soa bpel

在Oracle SOA Suite 11g上的bpel故障实例中获取超时问题。请找错误: weblogic.transaction.internal.TimedOutException:事务在300秒后超时。

为了进一步解释,我正在读取适配器读取具有5000条记录的文件,并且db事务花费超过5分钟放入数据库导致JTA事务超时,因此回滚。我可以在weblogic数据源配置或soa infra配置中进行任何更改以纠正此问题。

用简单的语言,Bpel进程调用db适配器需要更长的时间,因此超时。我希望这能解释所有。

2 个答案:

答案 0 :(得分:0)

我能够解决这个问题。

在weblogic控制台中更改了以下超时设置:

  1. 在soa EJB中设置超时:打开Weblogic控制台,然后单击“Deployments”左侧的导航菜单。单击[+]展开“soa-infra”,然后以相同的方式展开节点“EJBs”。通过单击以下EJB,在“Configuration”选项卡中将“Transaction Timeout”(以秒为单位)的值增加到3600:     BPELEngineBean     BPELDeliveryBean     BPELActivityManagerBean     BPELServerManagerBean     BPELProcessManagerBean     BPELInstanceManagerBean     BPELFinderBean
  2. 在域结构中,选择服务> JTA,将JTA事务超时值增加到3600。
  3. 参考文献: http://technology.amis.nl/2011/11/18/timeouts-in-oracle-soa-suite-11g/ http://www.albinsblog.com/2012/05/weblogictransactioninternaltimedoutexce.html#.UYuFT7Wmh1Y

答案 1 :(得分:0)

我建议关注数据库性能问题。 对于99.9%的性能问题,错误的数据库或查询设计是原因。

尝试使用足够的索引和查询,以便DB使用索引。 此外,尝试理解数据库优化器。

前提条件:您可以自己编写SQL语句,而不是绑定到创建低效SQL并欺骗数据库优化器的框架。我经常看到糟糕的框架......

只有当你拥有非常大量的数据(数十亿行),选择性低,与其他大型表连接很多或复杂的递归时,才会变得困难。

=>始终搜索问题的根本原因。你会学到很多东西,而且会更专业。 ;)