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

Reply via email to