我使用servlet 2.5版本部署了一个内部具有独特战争的耳朵。 当我尝试启动应用程序时,日志显示此消息,服务器尝试无限启动应用程序。它在抛出java HeapException 20分钟后结束。
[11/18/13 11:12:24:235 CET] 00000044 FfdcProvider W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /opt/was/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc/server1_a74ac991_13.11.18_11.12.24.2348371791741532456941.txt com.ibm.ws.classloader.ClassLoaderUtils.addDependents 238
[11/18/13 11:12:26:007 CET] 00000044 webapp I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: Loading Web Module: ISicres 8.2 GISS Servlet 2.5.
[11/18/13 11:12:26:490 CET] 00000044 WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: Will create a new session context for application key default_host/ISicres
如果我使用servlet 2.4版本部署相同的耳朵,当我启动应用程序时,它会在几秒钟内启动。
servlet 2.4定义如下:
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
servlet 2.5定义如下:
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
在启动时,它在日志/opt/was/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc/server1_a74ac991_13.11.18_11.12.24.2348371791741532456941.txt中显示以下异常:
[11/18/13 11:12:24:234 CET] FFDC Exception:java.util.zip.ZipException SourceId:com.ibm.ws.classloader.ClassLoaderUtils.addDependents ProbeId:238 Reporter:java.lang.Class@e9e29e43
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:150)
at java.util.jar.JarFile.<init>(JarFile.java:149)
at java.util.jar.JarFile.<init>(JarFile.java:113)
at com.ibm.ws.classloader.ClassLoaderUtils.addDependents(ClassLoaderUtils.java:147)
at com.ibm.ws.classloader.ClassLoaderUtils.addDependents(ClassLoaderUtils.java:195)
at com.ibm.ws.classloader.ClassLoaderUtils.addDependentJars(ClassLoaderUtils.java:113)
at com.ibm.ws.classloader.ClassGraph.<init>(ClassGraph.java:117)
at com.ibm.ws.classloader.ClassLoaderManager.initialize(ClassLoaderManager.java:202)
at com.ibm.ws.classloader.ClassLoaderManager.<init>(ClassLoaderManager.java:166)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:923)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:769)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2172)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445)
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:116)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:994)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)
最后,服务器会写一些headdump文件。这是'javacore.20131118.103120.6704.0005.txt'文件的内容:
0SECTION TITLE subcomponent dump routine
NULL ===============================
1TICHARSET UTF-8
1TISIGINFO Dump Event "systhrow" (00040000) Detail "java/lang/OutOfMemoryError" "Java heap space" received
1TIDATETIME Date: 2013/11/18 at 10:34:30
1TIFILENAME Javacore filename: /opt/was/WebSphere/AppServer/profiles/AppSrv01/javacore.20131118.103120.6704.0005.txt
1TIREQFLAGS Request Flags: 0x81 (exclusive+preempt)
1TIPREPSTATE Prep State: 0x104 (exclusive_vm_access+trace_disabled)
NULL ------------------------------------------------------------------------
0SECTION GPINFO subcomponent dump routine
NULL ================================
2XHOSLEVEL OS Level : Linux 2.6.32.12-0.7-default
2XHCPUS Processors -
3XHCPUARCH Architecture : amd64
3XHNUMCPUS How Many : 1
3XHNUMASUP NUMA is either not supported or has been disabled by user
NULL
1XHERROR2 Register dump section only produced for SIGSEGV, SIGILL or SIGFPE.
NULL
NULL ------------------------------------------------------------------------
0SECTION ENVINFO subcomponent dump routine
NULL =================================
1CIJAVAVERSION JRE 1.6.0 Linux amd64-64 build 20120322_106210 (pxa6460_26sr2ifix-20120419_02(SR2+IV19661))
1CIVMVERSION VM build R26_Java626_SR2_20120322_1722_B106210
1CIJITVERSION r11_20120322_22976
1CIGCVERSION GC - R26_Java626_SR2_20120322_1722_B106210_CMPRSS
1CIJITMODES JIT enabled, AOT enabled, FSD disabled, HCR disabled
1CIRUNNINGAS Running as a standalone JVM
1CICMDLINE /opt/was/WebSphere/AppServer/java/bin/java -Declipse.security -Dwas.status.socket=44247
WAS 8.5和servlets 2.5规范可能存在什么问题?
答案 0 :(得分:0)
如果不了解应用程序的内容,我只能假设正在进行广泛的类路径扫描(Java EE 6 / Servlet 2.5中引入了很多注释)。您应该与Reducing annotation searches during application deployment核实可能的解决方案。