Upgrade to Felix framework 3.2.1
--------------------------------
Key: AMDATU-382
URL: http://jira.amdatu.org/jira/browse/AMDATU-382
Project: Amdatu
Issue Type: Bug
Components: Amdatu Core
Reporter: Ivo Ladage - van Doorn
Currently we run the Felix framework version 3.0.2. The latest version is
3.2.1.
In the core integration test, the 3.2.1 version of the felix framework is used
instead. Using this newer version I encountered an issue in the integration
test, that will also occur in the Amdatu runtime. The problem manifests itself
by the fact that the JSP bundle doesn't start, caused by this error:
JAXP: find factoryId =javax.xml.parsers.DocumentBuilderFactory
JAXP: found jar
resource=META-INF/services/javax.xml.parsers.DocumentBuilderFactory using
ClassLoader: null
JAXP: found in resource, value=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
[2011-05-20 08:45:22] ERROR: An error occurred while handling JSP request
[org.amdatu.web.jsp]
javax.servlet.ServletException: javax.xml.parsers.FactoryConfigurationError:
Provider org.apache.xerces.jaxp.DocumentBui
lderFactoryImpl not found
org.apache.felix.log.LogException: javax.servlet.ServletException:
javax.xml.parsers.FactoryConfigurationError: Provider
org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:268)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.amdatu.web.jsp.service.ResourceProviderJspServlet$2.call(ResourceProviderJspServlet.java:125)
at
org.amdatu.web.jsp.service.ResourceProviderJspServlet$2.call(ResourceProviderJspServlet.java:123)
at
org.ops4j.pax.swissbox.core.ContextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUtils.java:60)
at
org.amdatu.web.jsp.service.ResourceProviderJspServlet.service(ResourceProviderJspServlet.java:121)
at
org.amdatu.web.dispatcher.handler.ServletHandler.handle(ServletHandler.java:70)
at
org.amdatu.web.dispatcher.dispatch.CustomFilterChain.doFilter(CustomFilterChain.java:56)
at
org.amdatu.web.dispatcher.dispatch.CustomFilterPipeline.dispatch(CustomFilterPipeline.java:59)
at
org.amdatu.web.dispatcher.dispatch.ExtenderFilterChain.doFilter(ExtenderFilterChain.java:53)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:35)
at
org.amdatu.web.tenantresolver.parameter.service.ParameterTenantResolverExtenderFilter.doFilter(ParameterTenan
tResolverExtenderFilter.java:70)
at
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:78)
at
org.amdatu.web.dispatcher.dispatch.ExtenderFilterChain.doFilter(ExtenderFilterChain.java:50)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:35)
at
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:82)
at
org.amdatu.web.dispatcher.dispatch.ExtenderFilterChain.doFilter(ExtenderFilterChain.java:50)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:35)
at
org.amdatu.web.tenantresolver.hostname.service.HostnameTenantResolverExtenderFilter.doFilter(HostnameTenantRe
solverExtenderFilter.java:75)
at
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:78)
at
org.amdatu.web.dispatcher.dispatch.ExtenderFilterChain.doFilter(ExtenderFilterChain.java:50)
at
org.amdatu.web.dispatcher.dispatch.ExtenderFilterPipeline.dispatch(ExtenderFilterPipeline.java:44)
at
org.amdatu.web.dispatcher.service.DispatcherServiceImpl.dispatchRequest(DispatcherServiceImpl.java:155)
at
org.amdatu.web.dispatcher.filter.DispatchInterceptFilter.doFilter(DispatchInterceptFilter.java:80)
at
org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
at
org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
at
org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
at
org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
at
org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
at
org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
at
org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: org.apache.felix.log.LogException:
javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.ja
xp.DocumentBuilderFactoryImpl not found
at
javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:129)
at
org.apache.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:89)
at
org.apache.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:133)
at
org.apache.jasper.compiler.TldLocationsCache.getUriFromTld(TldLocationsCache.java:460)
at
org.apache.jasper.compiler.TldLocationsCache.scanJar(TldLocationsCache.java:367)
at
org.apache.jasper.compiler.TldLocationsCache.scanJars(TldLocationsCache.java:504)
at
org.apache.jasper.compiler.TldLocationsCache.init(TldLocationsCache.java:244)
at
org.apache.jasper.compiler.TldLocationsCache.getLocation(TldLocationsCache.java:219)
at
org.apache.jasper.JspCompilationContext.getTldLocation(JspCompilationContext.java:553)
at
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:385)
at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:449)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1396)
After debugging 3.0.2 and 3.1.2 it appeared to be caused by a change in the
implicit boot delegation mechanism. See line 1446 (method
doImplicitBootDelegation) in 3.0.2 and line 1521 (method
doImplicitBootDelegation) in 3.2.1. In 3.0.2 the class is loaded from the
parent classloader (which is the system classloader), in 3.2.1 this method
returns null
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers