Skip to main content



      Home
Home » Eclipse Projects » Equinox » Server-side OSGi/Equinox, Commons Logging and class loading issue
Server-side OSGi/Equinox, Commons Logging and class loading issue [message #87077] Fri, 20 April 2007 07:01 Go to next message
Eclipse UserFriend
Originally posted by: mehow.infogenia.pl

Hello,

I've been following article at
http://www-128.ibm.com/developerworks/edu/ws-dw-ws-eclipsepl ugin.html
and got stuck due to a strange classloading problem.

I hope someone can help me although I know it's not exactly an Equinox
problem.

When I try to use org.apache.axis bundle (which can be downloaded from
the above site) I get this exception:

2007-04-20 12:36:33 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet equinoxbridgeservlet threw exception
org.apache.commons.logging.LogConfigurationException: Invalid class
loader hierarchy. You have more than one version of
'org.apache.commons.logging.Log' visible, which is not allowed.
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:385)
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:529)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:235)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java :351)
at org.apache.tomcat.util.buf.C2BConverter.<clinit>(C2BConverter.java:34)
at
org.apache.catalina.connector.OutputBuffer.setConverter(Outp utBuffer.java:579)
at
org.apache.catalina.connector.OutputBuffer.checkConverter(Ou tputBuffer.java:545)
at org.apache.catalina.connector.Response.getWriter(Response.ja va:619)
at
org.apache.catalina.connector.ResponseFacade.getWriter(Respo nseFacade.java:196)
at
org.apache.axis.transport.http.FilterPrintWriter.getPrintWri ter(FilterPrintWriter.java:48)
at
org.apache.axis.transport.http.FilterPrintWriter.println(Fil terPrintWriter.java:157)
at
org.apache.axis.transport.http.AxisServlet.reportAvailableSe rvices(AxisServlet.java:478)
at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet .java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisS ervletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.service(ServletManager.java:177)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.handleRequest(ServletRegistration.java:91)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:110)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.eclipse.equinox.servletbridge.BridgeServlet.service(Brid geServlet.java:115)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:210)
at
org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:174)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd apter.java:151)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11Ap rProcessor.java:834)
at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionH andler.process(Http11AprProtocol.java:640)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoin t.java:1286)
at java.lang.Thread.run(Unknown Source)

The only two commons logging jars I found were
<TOMCAT_HOME>/bin/commons-logging-api.jar and
<TOMCAT_HOME> /webapps/bridge.war/WEB-INF/eclipse/plugins/orgapacheaxis.ja r/commons-logging-1.0.4.jar.
I don't know if the former one was supposed to be on the classpath of my
web application, but it seemed like it was. But when I removed the
latter jar from its plugin (and the MANIFEST.MF file) I got
NoClassDefFoundError instead:

2007-04-20 12:58:27 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet equinoxbridgeservlet threw exception
org.eclipse.core.runtime.CoreException: Plug-in "org.apache.axis" was
unable to instantiate class "org.apache.axis.transport.http.AxisServlet".
at
org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI .throwException(RegistryStrategyOSGI.java:180)
at
org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI .createExecutableExtension(RegistryStrategyOSGI.java:174)
at
org.eclipse.core.internal.registry.ExtensionRegistry.createE xecutableExtension(ExtensionRegistry.java:787)
at
org.eclipse.core.internal.registry.ConfigurationElement.crea teExecutableExtension(ConfigurationElement.java:243)
at
org.eclipse.core.internal.registry.ConfigurationElementHandl e.createExecutableExtension(ConfigurationElementHandle.java: 51)
at
org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.initializeDelegate(ServletManager.java:191)
at
org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.service(ServletManager.java:176)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.handleRequest(ServletRegistration.java:91)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:110)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.eclipse.equinox.servletbridge.BridgeServlet.service(Brid geServlet.java:115)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:210)
at
org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:174)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd apter.java:151)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11Ap rProcessor.java:834)
at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionH andler.process(Http11AprProtocol.java:640)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoin t.java:1286)
at java.lang.Thread.run(Unknown Source)
org.eclipse.core.runtime.CoreException[1]:
java.lang.NoClassDefFoundError: org.apache.commons.logging.LogFactory
at org.apache.axis.components.logger.LogFactory.class$(LogFacto ry.java:45)
at org.apache.axis.components.logger.LogFactory$1.run(LogFactor y.java:45)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.axis.components.logger.LogFactory.getLogFactory(L ogFactory.java:41)
at
org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33)
at
org.apache.axis.transport.http.AxisServletBase.<clinit>(AxisServletBase.java:58)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Nativ e Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknow n Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Un known
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at
org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI .createExecutableExtension(RegistryStrategyOSGI.java:170)
at
org.eclipse.core.internal.registry.ExtensionRegistry.createE xecutableExtension(ExtensionRegistry.java:787)
at
org.eclipse.core.internal.registry.ConfigurationElement.crea teExecutableExtension(ConfigurationElement.java:243)
at
org.eclipse.core.internal.registry.ConfigurationElementHandl e.createExecutableExtension(ConfigurationElementHandle.java: 51)
at
org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.initializeDelegate(ServletManager.java:191)
at
org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.service(ServletManager.java:176)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.handleRequest(ServletRegistration.java:91)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:110)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.eclipse.equinox.servletbridge.BridgeServlet.service(Brid geServlet.java:115)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:210)
at
org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:174)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd apter.java:151)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11Ap rProcessor.java:834)
at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionH andler.process(Http11AprProtocol.java:640)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoin t.java:1286)
at java.lang.Thread.run(Unknown Source)


Help would be greatly appreciated.

Michał
Re: Server-side OSGi/Equinox, Commons Logging and class loading issue [message #87093 is a reply to message #87077] Fri, 20 April 2007 10:28 Go to previous message
Eclipse UserFriend
Hi Michal,

That article was written using a fairly old version of the Servletbridge. I
tried taking the code and was able to get the basics of Axis up and running
without the commons.logging problems you had however I wasn't able to map to
their Helloworld service. I think the approach taken for deploying the
server-config.wsdd is not really workable and don't feel it's worth the
effort to make it work. If you're determined you might try to contact the
authors.

The OHF guys are creating product on top of Axis and the ServletBridge so
that's where I would suggest asking questions about this type of
integration.

-Simon


"Micha
Previous Topic:restart osgi runtime
Next Topic:access other plugins (without dependeny)
Goto Forum:
  


Current Time: Fri Jun 06 09:46:52 EDT 2025

Powered by FUDForum. Page generated in 0.05297 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top