Lincoln Baxter III [
http://community.jboss.org/people/lincolnthree] created the
discussion
""Duplicate" deployment exception logging detracts from JBoss AS
usability"
To view the discussion, visit:
http://community.jboss.org/message/546092#546092
--------------------------------------------------------------
When using JBoss AS (6 M{X} in this case) - deployment errors can be critical for
debugging botched configurations in web-applications. In fact, looking through the stack
trace the only way to find out what's wrong, and why your app isn't deploying.
That's fine. The problem comes when the exception message is duplicated or even hidden
by numerous exceptions that pile up in the log, effectively turning the next minute or so
into a duck hunt, weeding through exceptions until you find the one line that you're
really looking for.
I think JBoss AS/MC should be more selective when displaying exceptions.
For example:
http://pastebin.com/NjjXLuiF http://pastebin.com/NjjXLuiF - In this case, I
don't even want to see an exception. I've simply got a Servlet that can't be
resolved to a class, and all really I care about is:
`
DEPLOYMENTS IN ERROR: Deployment
"vfszip:/Users/lbaxter/dev/jboss-6/server/default/deploy/pretty-blog.war/" is in
error due to the following reason(s): java.lang.ClassNotFoundException: com.sun.FooServlet
from BaseClassLoader@1e05df6d `
It would be even nicer if I were told that I had a bad Servlet definition in web.xml, but
instead, I get all of this... which isn't really helpful to an end-user. (Granted, in
this case all of the exceptions actually contain the same root cause, but in some cases
that doesn't happen - I certainly don't want duplicate exceptions.)
I'd like to open a JIRA for this. It's relatively low-hanging fruit that could
help smoothe the developer experience.
`11:56:14,884 INFO org.jboss.web.tomcat.service.deployers.TomcatDeployment
org.jboss.web.tomcat.service.deployers.TomcatDeployment undeploy, ctxPath=/pretty-blog
11:56:17,425 ERROR org.jboss.kernel.plugins.dependency.AbstractKernelController
org.jboss.kernel.plugins.dependency.AbstractKernelController Error installing to PreReal:
name=vfszip:/Users/lbaxter/dev/jboss-6/server/default/deploy/pretty-blog.war/
state=PostClassLoader mode=Manual requiredState=PreReal:
org.jboss.deployers.spi.DeploymentException: java.lang.ClassNotFoundException:
com.sun.FooServlet from BaseClassLoader@5b20a97e
at
org.jboss.resteasy.integration.deployers.ResteasyScannerDeployer.deployApplicationClass(ResteasyScannerDeployer.java:112)
at
org.jboss.resteasy.integration.deployers.ResteasyScannerDeployer.internalDeploy(ResteasyScannerDeployer.java:57)
at
org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55)
at
org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1660)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1378)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1319)
at
org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:378)
at
org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2029)
at
org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1050)
at
org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1289)
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1213)
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1107)
at
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:918)
at
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:633)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:898)
at
org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:677)
at
org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at
org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:409)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:294)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:637)
Caused by: java.lang.ClassNotFoundException: com.sun.FooServlet from
BaseClassLoader@5b20a97e
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:498)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
org.jboss.resteasy.integration.deployers.ResteasyScannerDeployer.deployApplicationClass(ResteasyScannerDeployer.java:108)
... 28 more
11:56:17,430 WARN org.jboss.system.server.profileservice.hotdeploy.HDScanner
org.jboss.system.server.profileservice.hotdeploy.HDScanner Failed to process changes:
org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete
deployments (SEE PREVIOUS ERRORS FOR DETAILS):
*** DEPLOYMENTS IN ERROR: Name -> Error
vfszip:/Users/lbaxter/dev/jboss-6/server/default/deploy/pretty-blog.war/ ->
org.jboss.deployers.spi.DeploymentException: java.lang.ClassNotFoundException:
com.sun.FooServlet from BaseClassLoader@5b20a97e
DEPLOYMENTS IN ERROR:
Deployment
"vfszip:/Users/lbaxter/dev/jboss-6/server/default/deploy/pretty-blog.war/" is in
error due to the following reason(s): java.lang.ClassNotFoundException: com.sun.FooServlet
from BaseClassLoader@5b20a97e
at
org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1198)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1144)
at
org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:848)
at
org.jboss.system.server.profileservice.repository.MainDeployerAdapter.checkComplete(MainDeployerAdapter.java:128)
at
org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:416)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:294)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:637)
11:56:18,504 SEVERE javax.enterprise.resource.webcontainer.jsf.config
javax.enterprise.resource.webcontainer.jsf.config Unable to access url
jndi:/localhost/pretty-blog/WEB-INF/faces-config.xml. Monitoring for this resource will
no longer occur.
11:56:44,856 ERROR org.jboss.kernel.plugins.dependency.AbstractKernelController
org.jboss.kernel.plugins.dependency.AbstractKernelController Error installing to PreReal:
name=vfszip:/Users/lbaxter/dev/jboss-6/server/default/deploy/pretty-blog.war/
state=PostClassLoader mode=Manual requiredState=PreReal:
org.jboss.deployers.spi.DeploymentException: java.lang.ClassNotFoundException:
com.sun.FooServlet from BaseClassLoader@1e05df6d
at
org.jboss.resteasy.integration.deployers.ResteasyScannerDeployer.deployApplicationClass(ResteasyScannerDeployer.java:112)
at
org.jboss.resteasy.integration.deployers.ResteasyScannerDeployer.internalDeploy(ResteasyScannerDeployer.java:57)
at
org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55)
at
org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1660)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1378)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1319)
at
org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:378)
at
org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2029)
at
org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1050)
at
org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1289)
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1213)
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1107)
at
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:918)
at
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:633)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:898)
at
org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:677)
at
org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at
org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:409)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:294)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:637)
Caused by: java.lang.ClassNotFoundException: com.sun.FooServlet from
BaseClassLoader@1e05df6d
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:498)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
org.jboss.resteasy.integration.deployers.ResteasyScannerDeployer.deployApplicationClass(ResteasyScannerDeployer.java:108)
... 28 more
11:56:44,861 WARN org.jboss.system.server.profileservice.hotdeploy.HDScanner
org.jboss.system.server.profileservice.hotdeploy.HDScanner Failed to process changes:
org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete
deployments (SEE PREVIOUS ERRORS FOR DETAILS):
*** DEPLOYMENTS IN ERROR: Name -> Error
vfszip:/Users/lbaxter/dev/jboss-6/server/default/deploy/pretty-blog.war/ ->
org.jboss.deployers.spi.DeploymentException: java.lang.ClassNotFoundException:
com.sun.FooServlet from BaseClassLoader@1e05df6d
DEPLOYMENTS IN ERROR:
Deployment
"vfszip:/Users/lbaxter/dev/jboss-6/server/default/deploy/pretty-blog.war/" is in
error due to the following reason(s): java.lang.ClassNotFoundException: com.sun.FooServlet
from BaseClassLoader@1e05df6d
at
org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1198)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1144)
at
org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:848)
at
org.jboss.system.server.profileservice.repository.MainDeployerAdapter.checkComplete(MainDeployerAdapter.java:128)
at
org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:416)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:294)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:637)`
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/546092#546092]
Start a new discussion in JBoss Microcontainer at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]