Yep. Which means any attempt to load any class by any bundle will first be routed to the parent class loader to see if it can provide it and it will be able to provide Felix.

Assuming that this is really the issue, you have three options:

  1. Upgrade GF's version of Felix.
  2. Downgrade the version being used by Catalina (it looks like).
  3. Try to see if you can remove the boot delegation.

The best option would be (3) if it were possible to do. You could file a bug report with GF letting them know that boot delegation with "*" makes it impossible for you to embed different versions of Felix on top of GF.

-> richard

Vinicius Carvalho wrote:
Well in their config.properties they do use:

org.osgi.framework.bootdelegation=*

So, would this mean that all libs (including Felix) would be using
bootdelegation?

Regards

On Sun, Feb 1, 2009 at 8:23 PM, Richard S. Hall <[email protected]>wrote:

p.s. Keep in mind that I am just guessing as to the cause...


Richard S. Hall wrote:

I think they may use boot delegation...

-> richard

Karl Pauls wrote:

Still sounds rather strange doesn't it? Why would glassfish leak it's
version of felix to the application?

regards,

Karl

On Sun, Feb 1, 2009 at 9:34 PM, Richard S. Hall <[email protected]>
wrote:


The constructor changed from Felix 1.2.x to 1.4.x, so if it is expecting
the
old-style constructor, then you will have an issue. I am not sure what
is
going on here, but I don't think GF directly tries to construct Felix
and I
have successfully gotten GF to run with Felix 1.4.x by simply changing
some
configuration properties. If the issue is that you have two different
versions of Felix available at the same time, then you will probably
need to
convert your GF to use the newer version of Felix so you only have one.

-> richard

Vinicius Carvalho wrote:


Hello there! After finally getting our app running. we are now
evaluating
it
on different application servers. And we got it working on JBoss 4.2.x,
JBoss 5.0, Tomcat 5.5. and 6.0, Jetty 6.x, Geronimo (tomcat and jetty
versions) and also Spring DM Server.

We could not get it working on glassfish, v2.1 simply freeze in a
manner
that it never comes back unless we remove the domain and create a new
one,
really weird, we are gonna look at glassfish mailing lists for that.

Now v3, which is an osgi container based on felix, seems to have some
classloading issues. I'm stating this because it complains about felix
not
having a method, and seems that they load an old version of felix on
bootstrap, and since we are using 1.4.1, we get some problems with
startup.
Here's the exception:

Any ideas?

Best regards


[#|2009-02-01T17:06:51.963-0200|WARNING|glassfish|javax.enterprise.system.container.web|_ThreadID=18;_ThreadName=Thread-3;|java.lang.IllegalStateException:

ContainerBase.addChild: start: LifecycleException:
java.lang.NoSuchMethodError:
org.apache.felix.framework.Felix.<init>(Ljava/util/Map;)V
java.lang.IllegalStateException: ContainerBase.addChild: start:
LifecycleException:  java.lang.NoSuchMethodError:
org.apache.felix.framework.Felix.<init>(Ljava/util/Map;)V
  at

org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:926)

  at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:906)

  at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
  at
com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2205)

  at
com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1890)

  at
com.sun.enterprise.web.WebApplication.start(WebApplication.java:85)
  at

com.sun.enterprise.v3.server.ApplicationLifecycle.start(ApplicationLifecycle.java:560)

  at

com.sun.enterprise.v3.server.ApplicationLifecycle.start(ApplicationLifecycle.java:547)

  at

com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:189)

  at

org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:329)

  at

com.sun.enterprise.v3.admin.CommandRunner$2.execute(CommandRunner.java:297)

  at

com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:312)

  at

com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:119)

  at
com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:99)

  at

org.glassfish.admingui.common.util.LocalDeploymentFacility$LocalDFCommandRunner.run(LocalDeploymentFacility.java:140)

  at

org.glassfish.deployment.client.AbstractDeploymentFacility.deploy(AbstractDeploymentFacility.java:243)

  at

org.glassfish.admingui.common.util.DeployUtil.invokeDeploymentFacility(DeployUtil.java:93)

  at
org.glassfish.admingui.common.util.DeployUtil.deploy(DeployUtil.java:70)

  at

org.glassfish.admingui.handlers.DeploymentHandler.deploy(DeploymentHandler.java:152)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

  at

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

  at java.lang.reflect.Method.invoke(Method.java:597)
  at

com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:422)

  at

com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:420)

  at

com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:394)

  at

com.sun.jsftemplating.layout.event.CommandActionListener.invokeCommandHandlers(CommandActionListener.java:132)

  at

com.sun.jsftemplating.layout.event.CommandActionListener.processAction(CommandActionListener.java:80)

  at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
  at
javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:771)

  at javax.faces.component.UICommand.broadcast(UICommand.java:372)
  at
com.sun.webui.jsf.component.WebuiCommand.broadcast(WebuiCommand.java:160)

  at
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
  at
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)

  at

com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)

  at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
  at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
  at

com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:80)

  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
  at

org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:431)

  at

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:337)

  at

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)

  at
com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:370)
  at

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)

  at

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)

  at

org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:460)

  at

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139)

  at

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186)

  at

org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)

  at

org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)

  at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
  at

com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)

  at

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187)

  at

org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)

  at

org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)

  at

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)

  at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
  at

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142)

  at

org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)

  at

org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)

  at

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)

  at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
  at

org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)

  at

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:242)

  at

com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)

  at

com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)

  at

com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)

  at

com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)

  at

com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)

  at

com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)

  at

com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)

  at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)

  at
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)

  at

com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)

  at

com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)

  at

com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)

  at
com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
|#]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]







---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to