[
https://issues.jboss.org/browse/AS7-2322?page=com.atlassian.jira.plugin.s...
]
Brian Stansberry commented on AS7-2322:
---------------------------------------
The specific logging in the attached log.txt is hard for the AS itself to deal with. :(
First, Spring itself logs an exception at SEVERE and then throws the exception.
Log-and-throw is poor practice, but there is nothing we can do about that.
Then JBoss Web (Tomcat code, StandardContext class) catches an exception, logs it and 2
other messages at ERROR and then doesn't throw on an exception or otherwise make it
available. Instead it just leaves it's "state" field in a state != 1 (the
started state). The logging is fine since the exception is not thrown on, but it would be
nicer if the caller could just catch and deal with an exception.
The AS integration layer thus can't catch and properly deal with the exception. It is
forced to check the "state", see it's not 1 and throw an MSC StartException
with a pretty useless "failed to start context" message.
There are things the AS can do to improve it's general exception handling, which has
been my goal for this AS7 JIRA. I'll create a separate JIRA for seeing if JBW can
expose the exception instead of logging.
Stack trace improvements, summarize the things that broke to make
them not so intimidating
------------------------------------------------------------------------------------------
Key: AS7-2322
URL:
https://issues.jboss.org/browse/AS7-2322
Project: Application Server 7
Issue Type: Feature Request
Components: Domain Management
Reporter: Jim Tyrrell
Assignee: Brian Stansberry
Priority: Critical
Labels: eap6-ux
Fix For: 7.1.1.Final
Attachments: log.txt
See the typical attached stack dump:
It would be nice if the stack dump could include all of the information above as a
summary as shown below, basically just the first lines of the errors w/o the whole stack
dump:
11:51:45,391 INFO [org.jboss.as.server.controller] (HttpManagementService-threads - 5)
Deployment of "SpringWAR.war" was rolled back with failure message {"Failed
services" => {"jboss.web.deployment.default-host./SpringWAR" =>
"org.jboss.msc.service.StartException in service
jboss.web.deployment.default-host./SpringWAR: failed to start context"}}
11:51:45,392 INFO [org.jboss.as.controller] (HttpManagementService-threads - 5) Service
status report
Services which failed to start:
service jboss.web.deployment.default-host./SpringWAR:
org.jboss.msc.service.StartException in service
jboss.web.deployment.default-host./SpringWAR: failed to start context
11:51:45,417 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) Stopped
deployment SpringWAR.war in 26ms
11:51:45,417 Error Summary of Exceptions in deployment:
- [org.springframework.web.context.ContextLoader] (MSC service thread 1-5) Context
initialization failed: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'jbossQueue' defined in class path resource
[applicationContextServices.xml]: Invocation of init method failed; nested exception is
javax.naming.NameNotFoundException: queue/B -- service jboss.naming.context.java.queue.B
- [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SpringWAR]] (MSC
service thread 1-5) Exception sending context initialized event to listener instance of
class org.springframework.web.context.ContextLoaderListener:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'jbossQueue' defined in class path resource [applicationContextServices.xml]:
Invocation of init method failed; nested exception is javax.naming.NameNotFoundException:
queue/B -- service jboss.naming.context.java.queue.B
- [org.apache.catalina.core.StandardContext] (MSC service thread 1-5) Error
listenerStart
- ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-5) Context
[/SpringWAR] startup failed due to previous errors
- [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SpringWAR]] (MSC
service thread 1-5) Closing Spring root WebApplicationContext
- [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC00001: Failed to start
service jboss.web.deployment.default-host./SpringWAR:
ERROR Scroll up to see more info...
Or
11:51:45,417 Error Summary of Exceptions in deployment:
[1] [org.springframework.web.context.ContextLoader] (MSC service thread 1-5) Context
initialization failed: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'jbossQueue' defined in class path resource
[applicationContextServices.xml]: Invocation of init method failed; nested exception is
javax.naming.NameNotFoundException: queue/B -- service jboss.naming.context.java.queue.B
[2] [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SpringWAR]]
(MSC service thread 1-5) Exception sending context initialized event to listener instance
of class org.springframework.web.context.ContextLoaderListener:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'jbossQueue' defined in class path resource [applicationContextServices.xml]:
Invocation of init method failed; nested exception is javax.naming.NameNotFoundException:
queue/B -- service jboss.naming.context.java.queue.B
[3] [org.apache.catalina.core.StandardContext] (MSC service thread 1-5) Error
listenerStart
[4] ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-5) Context
[/SpringWAR] startup failed due to previous errors
[5] [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SpringWAR]]
(MSC service thread 1-5) Closing Spring root WebApplicationContext
[6] [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC00001: Failed to start
service jboss.web.deployment.default-host./SpringWAR:
ERROR Scroll up to see more info...
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira