0

Приложение, в котором мы работаем, основано на Struts 2.0. Многие из нас одновременно пользуются этим приложением. Каждый вечер в одно и то же время приложение приходит в себя. Если мы перезагружаем приложение в браузере, он никогда не продвигается вперед по странице входа. Увидев журналы для сервера, я вижу, что последнее сообщение было «thread sleep».ConnectionWaitTimeoutException в IBM Websphere

При выполнении некоторых исследований я столкнулся с использованием аннотации для Spring framework. То же самое работает и для Struts2? Можете ли, пожалуйста, проиллюстрировать использование, если это возможно, в файле расположений?

[4/25/12 15:20:19:595 GMT+05:30] 00000029 SystemOut  O 25 Apr 2012 15:20:19,595 DEBUG [Thread-64][GreeceSynchronizer] thread sleep 
action [[email protected]] 
[4/25/12 15:20:26:293 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,293 DEBUG [WebContainer : 5][I18nInterceptor] intercept '//doLogin' { 
[4/25/12 15:20:26:293 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,293 DEBUG [WebContainer : 5][I18nInterceptor] requested_locale=null 
[4/25/12 15:20:26:293 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,293 DEBUG [WebContainer : 5][I18nInterceptor] before Locale=en_US 
[4/25/12 15:20:26:293 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,293 DEBUG [WebContainer : 5][InstantiatingNullHandler] Entering nullPropertyValue [target=[[email protected], [email protected]58605860], property=struts] 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][FileUploadInterceptor] Bypassing // doLogin 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][StaticParametersInterceptor] Setting static parameters {} 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][ParametersInterceptor] Setting params password => [ DEMO9 ] changePassword => [ false ] forgotPassword => [ ] username => [ DEMO9 ] 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][XWorkConverter] Property: changePassword 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][XWorkConverter] Class: cape.base.lbxoutclearing.ui.action.LoginAction 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][XWorkConverter] field-level type converter for property [changePassword] = none found 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][XWorkConverter] global-level type converter for property [changePassword] = none found 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][XWorkConverter] falling back to default type converter [[email protected]] 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][CompoundRootAccessor] No object in the CompoundRoot has a publicly accessible property named 'forgotPassword' (no setter could be found). 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][CompoundRootAccessor] No object in the CompoundRoot has a publicly accessible property named 'password' (no setter could be found). 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][CompoundRootAccessor] No object in the CompoundRoot has a publicly accessible property named 'username' (no setter could be found). 
[4/25/12 15:20:26:294 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,294 DEBUG [WebContainer : 5][LoginAction] Validating login 
[4/25/12 15:20:26:295 GMT+05:30] 00000030 SystemOut  O 25 Apr 2012 15:20:26,295 DEBUG [WebContainer : 5][LoginAction] 1 
[4/25/12 15:20:31:256 GMT+05:30] 00000036 FreePool  E J2CA0045E: Connection not available while invoking method createOrWaitForConnection for resource lockBoxDSJNDI. 
[4/25/12 15:20:31:292 GMT+05:30] 00000036 SystemOut  O 25 Apr 2012 15:20:31,289 ERROR [WebContainer : 8][BaseDAO] Exception in getConnection() 
com.ibm.websphere.ce.cm.ConnectionWaitTimeoutException: Connection not available, Timed out waiting for 180007 
    at com.ibm.ws.rsadapter.AdapterUtil.toSQLException(AdapterUtil.java:1252) 
    at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:444) 
    at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:400) 
    at cape.base.lbxoutclearing.ui.dao.BaseDAO.getConnection(BaseDAO.java:49) 
Caused by: com.ibm.websphere.ce.j2c.ConnectionWaitTimeoutException: Connection not available, Timed out waiting for 180007 
    at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1496) 
    at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2273) 
    at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:903) 
    at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:603) 
    at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:431) 
    ... 130 more 

ответ

2

Это не имеет никакого отношения к Struts/Spring.

Контейнер WAS говорит, что он не может получить соединение из пула соединений.

Время установления соединения указано в источнике данных. Если после ожидания этого периода времени, если время выполнения WAS не может обеспечить ваше приложение соединением из пула, то оно выдает это исключение.

Вам нужно выяснить, кто держится за соединения в бассейне и обеспечивает освобождение соединений.

Включите трассировку с помощью этой трассы ConnLeakLogic = самый лучший. Когда это исключение произойдет, оно выведет состояние, в котором перечислены все потоки, которые используют соединения в этот момент времени. Это должно быть отправной точкой для вас.

НТН

Manglu

Смежные вопросы