Исключение нехватки памяти в WAS 6.1 и EJB 2.1

Моему приложению не хватает памяти и некоторое время получала внутреннюю ошибку сервера, после чего оно автоматически восстанавливалось и приложение работало нормально.

Мое приложение размещено на WAS 6.1 и использует Struts 1.1 и EJB 2.1. Вот журналы сервера приложений для ошибки. Не могли бы вы помочь мне в этом вопросе, пожалуйста.

[7/14/15 12:58:06:238 BST] 00000038 HttpConnectio E   Unable to read and handle request: null
[7/14/15 12:58:19:793 BST] 00000464 DiscoveryServ W   DCSV1115W: DCS Stack DefaultCoreGroup at Member gal72050Cell\gal72050\fleetmanagement_1: Member gal72050Cell\gal72050\cid_1 connection  was closed. Member will  be removed from view. DCS connection status is Discovery|Ptp, transmitter closed.
[7/14/15 12:58:19:808 BST] 00000468 LTPAServerObj W   SECJ0371W: Validation of the LTPA token failed because the token expired with the following info: Token expiration Date: Tue Jul 14 10:53:38 BST 2015, current Date: Tue Jul 14 12:58:19 BST 2015.
[7/14/15 12:58:19:816 BST] 00000467 LTPAServerObj W   SECJ0371W: Validation of the LTPA token failed because the token expired with the following info: Token expiration Date: Tue Jul 14 12:25:18 BST 2015, current Date: Tue Jul 14 12:58:19 BST 2015.
[7/14/15 12:58:12:539 BST] 0000043c ExceptionUtil E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getWorkshop" on bean "BeanId(fleetmanagement_FMS#VUTEJB.jar#WorkshopService, null)". Exception data: <malformed parameter>
[7/14/15 12:58:19:780 BST] 00000014 ApplicationMo W   DCSV0004W: DCS Stack DefaultCoreGroup at Member gal72050Cell\gal72050\fleetmanagement_1: Did not receive adequate CPU time slice. Last known CPU usage time at 12:53:52:795 BST. Inactivity duration was 175 seconds. 
[7/14/15 12:58:19:189 BST] 00000448 ExceptionUtil E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "doSearch" on bean "BeanId(fleetmanagement_FMS#VUTEJB.jar#AtoService, null)". Exception data: <malformed parameter>
[7/14/15 12:58:19:189 BST] 0000043b ExceptionUtil E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "issueSearch" on bean "BeanId(fleetmanagement_FMS#VUTEJB.jar#IssueManagementService, null)". Exception data: java.lang.OutOfMemoryError
    at com.ford.jlr.pd.im.model.jdbc.OracleIssueDao.createIssueDto(OracleIssueDao.java:718)
    at com.ford.jlr.pd.im.model.jdbc.OracleIssueDao.createIssueSearchResultDto(OracleIssueDao.java:768)
    at com.ford.jlr.pd.im.model.jdbc.OracleIssueDao.issueSearch(OracleIssueDao.java:506)
    at com.ford.jlr.pd.vut.service.IssueManagementServiceBean.issueSearch(IssueManagementServiceBean.java:533)
    at com.ford.jlr.pd.vut.service.EJSLocalStatelessIssueManagementService_0f9a1a53.issueSearch(Unknown Source)
    at com.ford.jlr.pd.im.actions.IssueSearchAction.execute(IssueSearchAction.java:40)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:930)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
    at com.ford.jlr.tag.crumb.CrumbFilter.doFilter(CrumbFilter.java:65)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at com.ford.jlr.tag.table.ExportFilter.doFilter(ExportFilter.java:63)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at com.ford.jlr.tag.table.CustomizeViewFilter.doFilter(CustomizeViewFilter.java:73)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:766)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:674)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:498)
    at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
    at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)

[7/14/15 12:58:10:251 BST] 0000044a ExceptionUtil E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getCategoriesCollection" on bean "BeanId(fleetmanagement_FMS#VUTEJB.jar#VehicleSearchService, null)". Exception data: java.lang.OutOfMemoryError
    at java.net.InetAddress.getLocalHost(InetAddress.java:1461)
    at oracle.jdbc.driver.T4CTTIoauthenticate.setSessionFields(T4CTTIoauthenticate.java:890)
    at oracle.jdbc.driver.T4CTTIoauthenticate.<init>(T4CTTIoauthenticate.java:185)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:352)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:439)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
    at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:297)
    at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:221)
    at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:157)
    at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:94)
    at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper$1.run(InternalGenericDataStoreHelper.java:868)
    at java.security.AccessController.doPrivileged(AccessController.java:246)
    at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:125)
    at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper.getPooledConnection(InternalGenericDataStoreHelper.java:863)
    at com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:1185)
    at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:1055)
    at com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1811)
    at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1543)
    at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2215)
    at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:896)
    at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:596)
    at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:431)
    at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:400)
    at com.ford.jlr.pd.vut.model.JdbcHelper.getConnection(JdbcHelper.java:83)
    at com.ford.jlr.pd.vut.model.JdbcHelper.doSelect(JdbcHelper.java:304)
    at com.ford.jlr.pd.vut.model.jdbc.OracleVehicleSearchDao.getCategoriesCollection(OracleVehicleSearchDao.java:295)
    at com.ford.jlr.pd.vut.service.VehicleSearchServiceBean.getCategoriesCollection(VehicleSearchServiceBean.java:547)
    at com.ford.jlr.pd.vut.service.EJSLocalStatelessVehicleSearchService_0b6828ec.getCategoriesCollection(Unknown Source)
    at com.ford.jlr.pd.fms.data.search.SearchDataManager.getCategories(SearchDataManager.java:51)
    at com.ford.jlr.pd.vut.forms.VehicleSearchForm.getAllCategories(VehicleSearchForm.java:439)
    at com.ford.jlr.pd.vut.actions.search.FleetSearchAjaxAction.getCategoriesList(FleetSearchAjaxAction.java:148)
    at com.ford.jlr.pd.vut.actions.search.FleetSearchAjaxAction.attachChoices(FleetSearchAjaxAction.java:72)
    at com.ford.jlr.struts.AjaxDependentListAction.execute(AjaxDependentListAction.java:67)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:930)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
    at com.ford.jlr.tag.crumb.CrumbFilter.doFilter(CrumbFilter.java:65)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at com.ford.jlr.tag.table.ExportFilter.doFilter(ExportFilter.java:63)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at com.ford.jlr.tag.table.CustomizeViewFilter.doFilter(CustomizeViewFilter.java:73)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:766)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:674)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:498)
    at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
    at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:263)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)

1 ответ

java.lang.OutOfMemoryError предполагает, что вам не хватает памяти на сервере приложений. Для быстрого решения проблемы вы можете увеличить максимальный размер кучи на сервере приложений, но в целом вы должны включить многословный gc и генерировать дампы кучи. Затем проанализируйте дамп на предмет утечек памяти и выясните, что занимает место в куче.

Вы можете использовать инструменты из IBM Support Assistant (доступны бесплатно):

  • Сборщик мусора и визуализатор памяти
  • IBM HeapAnalyzer
Другие вопросы по тегам