D050605--EOS中EJB事务超时的处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EOS中避免事务超时的配置修改
一、问题描述
在EOS输业务时,假如遇到处理时间较长的事务时,会产生数据库连接中断的错误,一般限制为30秒左右,加大数据源连接池的超时时间无效。

二、处理方案
经分析,这是由于EOS封装了JAVA的EJB,默认对EJB中的事务的超时时间为30秒所致,需要使用如下方法进行配置:
1.使用WEBLOGIC服务器时:
a)更改EJB对应包中的配置
在{EOS_HOME}\eosdomain\applications\eos4wl目录下有3个JAR包: eosejb4wl.jar:
eosmdejb4wl.jar:
eosmqejb4wl.jar:
解开eosejb4wl.jar里面的weblogic-ejb-jar.xml:
对每个文件,找到下述部分,增加红色部分代码:
<weblogic-enterprise-bean>
<ejb-name>ProcessEngine…</ejb-name>
<transaction-descriptor>
<trans-timeout-seconds>1000</trans-timeout-seconds>
</transaction-descriptor>
<enable-call-by-reference>true</enable-call-by-reference>
<jndi-name>ProcessEngine</jndi-name>
</weblogic-enterprise-bean>
然后再将此文件压缩回去!
*注意:在文件“eosejb4wl.jar”的配置文件中可能有多个<ejb-name>ProcessEngine…</ejb-name>的代码段,均要加上上述补充内容!
也可以直接使用目录“WebLogic超时设置示例文件(1000s)”中的范例,应用与weblogic(64BIT)的环境,示例文件设置为超时1000s。

b)修改WEBLOGIC中的JTA配置
在weblogic控制台中 services-->JTA中修改Timeout Seconds参数与前一步骤修改的参数相匹配
2.使用JBOSS服务器时:
找到{JBOSS_HOME}\server\default\conf\jboss-service.xml文件,修改如下参数:
<mbean code="org.jboss.tm.TransactionManagerService" name="jboss:service=TransactionManager" xmbean- dd="resource:xmdesc/TransactionManagerService-xmbean.xml">
<attribute name="TransactionTimeout">300</attribute>
<depends optional-attribute-name="XidFactory">jboss:service=XidFactory</depends>
</mbean>
将TransactionTimeout:300改成需要的值。

相关文档
最新文档