-
Bug
-
Resolution: Obsolete
-
Major
-
JBossAS-3.2.6 Final
-
None
SourceForge Submitter: dbakr .
Operating systems - WinXP and Debian Linux
JDK - 1.4.1
Got error when touching tomcat41-service.xml
Jboss tries to reload embedded container but a lot of
bugs rise.
Bugs are concerned to classloading.
Here is peace of log trace:
javax.servlet.ServletException: Exception processing
JAR at resource path /WEB-INF/lib/forum.jar
at
org.apache.catalina.startup.ContextConfig.tldScanJar
(ContextConfig.java:930)
at
org.apache.catalina.startup.ContextConfig.tldScan
(ContextConfig.java:868)
at org.apache.catalina.startup.ContextConfig.start
(ContextConfig.java:647)
at
org.apache.catalina.startup.ContextConfig.lifecycleEvent
(ContextConfig.java:243)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEve
nt(LifecycleSupport.java:166)
at org.apache.catalina.core.StandardContext.start
(StandardContext.java:3567)
at
org.apache.catalina.core.ContainerBase.addChildInternal
(ContainerBase.java:821)
at
org.apache.catalina.core.ContainerBase.addChild
(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild
(StandardHost.java:579)
at
org.jboss.web.catalina.EmbeddedCatalinaService41.crea
teWebContext(EmbeddedCatalinaService41.java:431)
at
org.jboss.web.catalina.EmbeddedCatalinaService41.perfo
rmDeploy(EmbeddedCatalinaService41.java:306)
at org.jboss.web.AbstractWebContainer.start
(AbstractWebContainer.java:304)
at org.jboss.deployment.MainDeployer.start
(MainDeployer.java:827)
at org.jboss.deployment.MainDeployer.deploy
(MainDeployer.java:639)
at org.jboss.deployment.MainDeployer.addDeployer
(MainDeployer.java:244)
at sun.reflect.GeneratedMethodAccessor15.invoke
(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invok
e(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:549)
at org.jboss.util.jmx.MBeanProxy.invoke
(MBeanProxy.java:174)
at $Proxy31.addDeployer(Unknown Source)
at
org.jboss.deployment.SubDeployerSupport.startService
(SubDeployerSupport.java:108)
at
org.jboss.web.catalina.EmbeddedCatalinaService41.start
Service(EmbeddedCatalinaService41.java:263)
at org.jboss.system.ServiceMBeanSupport.start
(ServiceMBeanSupport.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0
(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invok
e(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:549)
at
org.jboss.system.ServiceController$ServiceProxy.invoke
(ServiceController.java:966)
at $Proxy11.start(Unknown Source)
at org.jboss.system.ServiceController.start
(ServiceController.java:392)
at sun.reflect.GeneratedMethodAccessor6.invoke
(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invok
e(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:549)
at org.jboss.util.jmx.MBeanProxy.invoke
(MBeanProxy.java:174)
at $Proxy5.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start
(SARDeployer.java:231)
at org.jboss.deployment.MainDeployer.start
(MainDeployer.java:827)
at org.jboss.deployment.MainDeployer.deploy
(MainDeployer.java:639)
at org.jboss.deployment.MainDeployer.deploy
(MainDeployer.java:612)
at sun.reflect.GeneratedMethodAccessor20.invoke
(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invok
e(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:549)
at org.jboss.util.jmx.MBeanProxy.invoke
(MBeanProxy.java:174)
at $Proxy7.deploy(Unknown Source)
at
org.jboss.deployment.scanner.URLDeploymentScanner.
deploy(URLDeploymentScanner.java:404)
at
org.jboss.deployment.scanner.URLDeploymentScanner.
scan(URLDeploymentScanner.java:531)
at
org.jboss.deployment.scanner.AbstractDeploymentScan
ner$ScannerThread.doScan
(AbstractDeploymentScanner.java:195)
at
org.jboss.deployment.scanner.AbstractDeploymentScan
ner$ScannerThread.loop
(AbstractDeploymentScanner.java:206)
at
org.jboss.deployment.scanner.AbstractDeploymentScan
ner$ScannerThread.run
(AbstractDeploymentScanner.java:185)
10:40:38,885 ERROR [Engine] ----- Root Cause -----
java.lang.IllegalStateException: Illegal class loader
binding
at
org.apache.naming.resources.DirContextURLStreamHan
dler.get(DirContextURLStreamHandler.java:234)
at
org.apache.naming.resources.DirContextURLStreamHan
dler.openConnection
(DirContextURLStreamHandler.java:134)
at java.net.URL.openConnection(URL.java:943)
at
sun.net.www.protocol.jar.JarURLConnection.<init>
(JarURLConnection.java:64)
at
sun.net.www.protocol.jar.Handler.openConnection
(Handler.java:24)
at java.net.URL.openConnection(URL.java:943)
at
org.apache.catalina.startup.ContextConfig.tldScanJar
(ContextConfig.java:903)
at
org.apache.catalina.startup.ContextConfig.tldScan
(ContextConfig.java:868)
at org.apache.catalina.startup.ContextConfig.start
(ContextConfig.java:647)
at
org.apache.catalina.startup.ContextConfig.lifecycleEvent
(ContextConfig.java:243)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEve
nt(LifecycleSupport.java:166)
at org.apache.catalina.core.StandardContext.start
(StandardContext.java:3567)
at
org.apache.catalina.core.ContainerBase.addChildInternal
(ContainerBase.java:821)
at
org.apache.catalina.core.ContainerBase.addChild
(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild
(StandardHost.java:579)
at
org.jboss.web.catalina.EmbeddedCatalinaService41.crea
teWebContext(EmbeddedCatalinaService41.java:431)
at
org.jboss.web.catalina.EmbeddedCatalinaService41.perfo
rmDeploy(EmbeddedCatalinaService41.java:306)
at org.jboss.web.AbstractWebContainer.start
(AbstractWebContainer.java:304)
at org.jboss.deployment.MainDeployer.start
(MainDeployer.java:827)
at org.jboss.deployment.MainDeployer.deploy
(MainDeployer.java:639)
at org.jboss.deployment.MainDeployer.addDeployer
(MainDeployer.java:244)
at sun.reflect.GeneratedMethodAccessor15.invoke
(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invok
e(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:549)
at org.jboss.util.jmx.MBeanProxy.invoke
(MBeanProxy.java:174)
at $Proxy31.addDeployer(Unknown Source)
at
org.jboss.deployment.SubDeployerSupport.startService
(SubDeployerSupport.java:108)
at
org.jboss.web.catalina.EmbeddedCatalinaService41.start
Service(EmbeddedCatalinaService41.java:263)
at org.jboss.system.ServiceMBeanSupport.start
(ServiceMBeanSupport.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0
(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invok
e(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:549)
at
org.jboss.system.ServiceController$ServiceProxy.invoke
(ServiceController.java:966)
at $Proxy11.start(Unknown Source)
at org.jboss.system.ServiceController.start
(ServiceController.java:392)
at sun.reflect.GeneratedMethodAccessor6.invoke
(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invok
e(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:549)
at org.jboss.util.jmx.MBeanProxy.invoke
(MBeanProxy.java:174)
at $Proxy5.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start
(SARDeployer.java:231)
at org.jboss.deployment.MainDeployer.start
(MainDeployer.java:827)
at org.jboss.deployment.MainDeployer.deploy
(MainDeployer.java:639)
at org.jboss.deployment.MainDeployer.deploy
(MainDeployer.java:612)
at sun.reflect.GeneratedMethodAccessor20.invoke
(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invok
e(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke
(MBeanServerImpl.java:549)
at org.jboss.util.jmx.MBeanProxy.invoke
(MBeanProxy.java:174)
at $Proxy7.deploy(Unknown Source)
at
org.jboss.deployment.scanner.URLDeploymentScanner.
deploy(URLDeploymentScanner.java:404)
at
org.jboss.deployment.scanner.URLDeploymentScanner.
scan(URLDeploymentScanner.java:531)
at
org.jboss.deployment.scanner.AbstractDeploymentScan
ner$ScannerThread.doScan
(AbstractDeploymentScanner.java:195)
at
org.jboss.deployment.scanner.AbstractDeploymentScan
ner$ScannerThread.loop
(AbstractDeploymentScanner.java:206)
at
org.jboss.deployment.scanner.AbstractDeploymentScan
ner$ScannerThread.run
(AbstractDeploymentScanner.java:185)
Next. Redeploying applications is very hard one - in 99%
of cases I need to reload ALL conainer.
Or, if updates are not so global, I need to stop
application (e.g. undeploy webapp) and then start it
again.
(This is done automatically by Jboss after touching
web.xml file).
But for this time users are seeing something that they
aren't expected to see : tomcat error :
"No context configured for processing this request" that
is not good
Therefore uploading crytical fixes to deployed packages
in production environment is practically impossible when
users are online.
It seems to me it is not very hard to recode classloader
which is responsible for webapps so it would run
reloading in backgound,
saving current uploaded service staying in memory and
dispatching existing user requests, and when
background process ends swap loaders in 1 moment
and consequently users will be happy not seeing ugly
tomcat messages.