admin-console Seam initialization issues with "default" configuration
---------------------------------------------------------------------
Key: JBAS-7371
URL:
https://jira.jboss.org/jira/browse/JBAS-7371
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: JMX/Web Console, Management services
Affects Versions: JBossAS-5.1.0.GA
Environment: JDK6
Reporter: Darryl Miles
Assignee: Darran Lofthouse
something is wrong with the JBoss AS 5.1.0.GA distribution, using "default"
configuration, and trying to access:
http://127.0.0.1:8080/admin-console/ when I have my
own application EAR that uses a newer version of Seam (2.1.2).
I am using JBoss Tooling (JBIDE) to start the AS instance in debug mode on JDK6. It
starts up fine enough, but the first access to the /admin-console/ yields the following
stack trace. The web-app that is the admin-console seems to continue to remain deployed.
So it is a lazy-Seam-initialization issue. The /admin-console/ web-app has not been
modified in the distribution, but I do have an EAR project I am trying to develop which is
using a different (newer) version of Seam than the one JBoss AS distributes within
admin-console.war.
But all the libraries my EAR uses are contained inside my EAR so this should make no
difference (FWIW I am using Seam 2.1.2 in my app). It looks like admin-console.war uses
Seam 2.1.0.SP1 this is inside the admin-console.war/WEB-INF/lib so should be isolated.
If I remove my EAR from being deployed and restart the AS then /admin-console/ works.
My EAR (that appears to break on JBoss AS) is really simple:
./jboss-seam-2.1.2.jar
./lib/
./lib/commons-beanutils-1.8.0-BETA.jar
./lib/commons-collections-3.2.1.jar
./lib/commons-digester-1.8.jar
./lib/commons-logging-1.1.1.jar
./lib/drools-api-5.0.1.jar
./lib/drools-core-5.0.1.jar
./lib/jboss-el-1.0_02.CR2.jar
./lib/joda-time-1.6.jar
./lib/richfaces-api-3.3.1.GA.jar
./lib/spring-2.5.6.SEC01.jar
./lib/spring-aspects-2.5.6.SEC01.jar
./META-INF
./META-INF/MANIFEST.MF
./mvel2-2.0.10.jar
Here are the last few lines of the server startup (maybe they are of some use ?) They
show the deployment of the /admin-console web-app and the lack of any exception during
deployment to indicate a failure at that time.
00:21:24,600 INFO [TomcatDeployment] deploy, ctxPath=/admin-console
00:21:24,713 INFO [config] Initializing Mojarra (1.2_12-b01-FCS) for context
'/admin-console'
00:21:28,397 INFO [TomcatDeployment] deploy, ctxPath=/
00:21:28,543 INFO [TomcatDeployment] deploy, ctxPath=/jmx-console
00:21:28,748 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on
http-localhost%2F127.0.0.1-8080
00:21:28,811 INFO [AjpProtocol] Starting Coyote AJP/1.3 on
ajp-localhost%2F127.0.0.1-8009
00:21:28,835 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build:
SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 1m:12s:424ms
Then upon first access of the webapp the URL
http://127.0.0.1:8080/admin-console/ I get:
.....START.....
java.lang.RuntimeException: error while reading /WEB-INF/components.xml
org.jboss.seam.init.Initialization.initComponentsFromXmlDocument(Initialization.java:221)
org.jboss.seam.init.Initialization.create(Initialization.java:124)
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
org.jboss.on.embedded.LazyStartupListener.initialize(LazyStartupListener.java:182)
org.jboss.on.embedded.LazyStartupListener.requestInitialized(LazyStartupListener.java:240)
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)
root cause
java.lang.RuntimeException: Error loading element Identity with component name null and
component class null
org.jboss.seam.init.Initialization.installComponentsFromXmlElements(Initialization.java:342)
org.jboss.seam.init.Initialization.initComponentsFromXmlDocument(Initialization.java:217)
org.jboss.seam.init.Initialization.create(Initialization.java:124)
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
org.jboss.on.embedded.LazyStartupListener.initialize(LazyStartupListener.java:182)
org.jboss.on.embedded.LazyStartupListener.requestInitialized(LazyStartupListener.java:240)
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)
....END....
Then upon subsequent access of the webapp the URL
http://127.0.0.1:8080/admin-console/ I
get:
....START....
java.lang.NullPointerException
org.jboss.seam.servlet.SeamFilter.getSortedFilters(SeamFilter.java:112)
org.jboss.seam.servlet.SeamFilter.init(SeamFilter.java:93)
org.jboss.on.embedded.LazyStartupFilter.init(LazyStartupFilter.java:104)
org.jboss.on.embedded.LazyStartupFilter.doFilter(LazyStartupFilter.java:85)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
....END....
This problem is simply the filter assuming a something has been correctly/fully
initialized when it hasn't. So this points at:
* The first exception has failed to initialize something relating to global Seam
configuration, but the global initialization status was not rolled back (since the
subsequent HTTP request should have resulted in a repeat of the same error) or
* The second exception should be checking for null on something that is allowed to remain
unconfigured
Those matters would be for Seam team to investigate?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira