修改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等待時間如果太長,用戶使用體驗也不是很好,這就要根據系統的需要了,如:採用異步方式就可避免。

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