修改weblogic的空闲连接时间

 

环境描述:  

在分布式chuli在EJB处理数据库相关操作时,可能因为数据量太大问题,影响到web服务器和weblogic之间通信时间超长,超出weblogic所允许的时间后,weblogic会自动将连接断掉。这就造成web出现异常,而ejb中事务还在进行处理。给用户造成处理失败的提示,造成web层和应用层处理结果不统一。

web服务器出现异常如下:

java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:

java.rmi.RemoteException: EJB Exception: ; nested exception is:

        java.lang.AbstractMethodError

        at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemException(ShutdownUtilDelegate.java:64)

        at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)

Caused by: java.rmi.RemoteException: EJB Exception: ; nested exception is:

        java.lang.AbstractMethodError

        at weblogic.ejb20.internal.EJBRuntimeUtils.throwRemoteException(EJBRuntimeUtils.java:102)

        at weblogic.ejb20.internal.BaseEJBHome.handleSystemException(BaseEJBHome.java:307)

        at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:263)

        at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:140)

Caused by: java.lang.AbstractMethodError

        at oracle.jdbc.driver.OracleConnection.unwrapCompletely(OracleConnection.java:5092)

        at oracle.jdbc.driver.OracleConnection.physicalConnectionWithin(OracleConnection.java:5141)

        at oracle.sql.ARRAY.<init>(ARRAY.java:117)

原因:tomcat连接weblogic空闲时间超时。

解决办法:进入到weblogic控制台,选择Servers,如:myserver,在选择“Protocols”页,选择“General”页,选择Advanced Options 的“Show”,显示页中,“Idle Connection Timeout”为连接的最大空闲时间,默认为600秒(5分钟),可以更具自己的需求修改,如1200秒(10分钟)。

 

 

 图例:

 

当然,web等待时间如果太长,用户使用体验也不是很好,这就要根据系统的需要了,如:采用异步方式就可避免。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章