[
https://issues.apache.org/jira/browse/CXF-2467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12766480#action_12766480
]
David Bosschaert commented on CXF-2467:
---------------------------------------
Hi Florian,
Good to hear that it works for you.
The problem is that some of these order dependencies are in bundles that are
outside of the CXF domain, so I'm not entirely sure whether all of these can be
solved within the CXF DOSGi subproject.
However, if you take the DOSGi single-bundle distro you won't have this
problem... We could consider adding an intermediary distro that has all the 3rd
party deps in a single bundle that automatically starts them in the right
order, but leaves the OSGi friendly bundles separate...
If you think that would be useful, please file a separate JIRA for that.
> Remoted service fails to register endpoint after framework is restarted
> -----------------------------------------------------------------------
>
> Key: CXF-2467
> URL: https://issues.apache.org/jira/browse/CXF-2467
> Project: CXF
> Issue Type: Bug
> Components: Distributed-OSGi
> Affects Versions: dOSGi-1.0
> Environment: Windows XP, equinox, Spring
> Reporter: Florian Grunow
> Assignee: David Bosschaert
> Attachments: config.ini,
> cxf-dosgi-ri-samples-spring-dm-impl-1.1-SNAPSHOT.jar,
> cxf-dosgi-ri-samples-spring-dm-interface-1.1-SNAPSHOT.jar
>
>
> When re-booting the framework the remoted osgi bundles start successfully but
> fail to get their endpoints registered. When deleting the framework's cache
> and on the very first start of the framework, everything works fine, the
> service endpoints are created and the wsdl is exposed. So this happens only
> after a reboot of the framework. The bundle (hello-remote-srv) is a very
> simple hello world service activated with a spring configuration.
> See exception details, configuration and versions below:
> [...]
> 13.10.2009 13:42:51 org.apache.cxf.transport.servlet.CXFNonSpringServlet
> loadBusNoConfig
> INFO: Load the bus without application context
> Exception in thread "pool-1-thread-3" java.lang.LinkageError: loader
> constraint violation in interface itable initialization: when resolving
> method "o
> rg.springframework.beans.factory.support.AbstractBeanFactory.getParentBeanFactory()Lorg/springframework/beans/factory/BeanFactory;"
> the class loader (
> instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the
> current class, org/springframework/beans/factory/support/AbstractBeanFact
> ory, and the class loader (instance of
> org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for interface
> org/springframework/beans/factory/Hiera
> rchicalBeanFactory have different Class objects for the type
> org/springframework/beans/factory/BeanFactory used in the signature
> at
> org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:176)
> at
> org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:121
> )
> at
> org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
> at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
> at
> org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
> at
> org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
> at
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
> at
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
> at
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
> at
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
> at
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.loadBusNoConfig(CXFNonSpringServlet.java:45)
> at
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.loadBus(CXFNonSpringServlet.java:38)
> at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:79)
> at
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
> at
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:616)
> at
> org.mortbay.jetty.servlet.ServletHandler.updateMappings(ServletHandler.java:984)
> at
> org.mortbay.jetty.servlet.ServletHandler.setServletMappings(ServletHandler.java:1041)
> at
> org.mortbay.jetty.servlet.ServletHandler.addServletMapping(ServletHandler.java:740)
> at
> org.ops4j.pax.web.service.internal.JettyServerImpl$1.call(JettyServerImpl.java:129)
> at
> org.ops4j.pax.web.service.internal.JettyServerImpl$1.call(JettyServerImpl.java:126)
> at
> org.ops4j.pax.swissbox.core.ContextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUtils.java:60)
> at
> org.ops4j.pax.web.service.internal.JettyServerImpl.addServlet(JettyServerImpl.java:121)
> at
> org.ops4j.pax.web.service.internal.ServerControllerImpl$Started.addServlet(ServerControllerImpl.java:214)
> at
> org.ops4j.pax.web.service.internal.ServerControllerImpl.addServlet(ServerControllerImpl.java:90)
> at
> org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:144)
> at
> org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:53)
> at
> org.apache.cxf.dosgi.dsw.handlers.HttpServiceConfigurationTypeHandler.createServer(HttpServiceConfigurationTypeHandler.java:92)
> at
> org.apache.cxf.dosgi.dsw.hooks.ServiceHookUtils.createServer(ServiceHookUtils.java:86)
> at
> org.apache.cxf.dosgi.dsw.hooks.CxfPublishHook.createServer(CxfPublishHook.java:106)
> at
> org.apache.cxf.dosgi.dsw.hooks.CxfPublishHook.publishEndpoint(CxfPublishHook.java:80)
> at org.apache.cxf.dosgi.dsw.Activator$1.run(Activator.java:144)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
> Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
> osgi> ss
> Framework is launched.
> id State Bundle
> 0 ACTIVE org.eclipse.osgi_3.5.1.R35x_v20090827
> 1 ACTIVE com.springsource.net.sf.cglib_2.1.3
> 2 ACTIVE com.springsource.org.aopalliance_1.0.0
> 3 ACTIVE com.springsource.org.apache.commons.logging_1.1.1
> 4 ACTIVE com.springsource.org.jdom_1.0.0
> 5 ACTIVE com.springsource.org.objectweb.asm_2.2.3
> 6 ACTIVE cxf-dosgi-ri-singlebundle-distribution_1.0.0
> 7 ACTIVE biz.aQute.fileinstall_1.3.4
> 8 ACTIVE org.eclipse.equinox.common_3.5.0.v20090520-1800
> 9 ACTIVE org.eclipse.equinox.event_1.1.0.v20080225
> 10 ACTIVE org.eclipse.equinox.launcher_1.0.200.v20090520
> 11 ACTIVE org.eclipse.equinox.log_1.1.0.v20080414
> 12 ACTIVE org.eclipse.equinox.preferences_3.2.300.v20090520-1800
> 13 ACTIVE org.eclipse.osgi.services_3.2.0.v20090520-1800
> 14 ACTIVE org.eclipse.osgi.util_3.2.0.v20090520-1800
> 15 ACTIVE org.springframework.aop_2.5.6
> 16 ACTIVE org.springframework.beans_2.5.6
> 17 ACTIVE org.springframework.context.support_2.5.6
> 18 ACTIVE org.springframework.context_2.5.6
> 19 ACTIVE org.springframework.core_2.5.6
> 20 ACTIVE org.springframework.osgi.core_1.2.0
> 21 ACTIVE org.springframework.osgi.extender_1.2.0
> 22 ACTIVE org.springframework.osgi.extensions.annotations_1.2.0
> 23 ACTIVE org.springframework.osgi.io_1.2.0
> 24 ACTIVE hello-remote-srv_0.0.0.SNAPSHOT
> Spring config:
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:osgi="http://www.springframework.org/schema/osgi"
> xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
> http://www.springframework.org/schema/osgi
> http://www.springframework.org/schema/osgi/spring-osgi.xsd">
> <bean id="HelloServImpl" class="hello.remote.srv.HelloWorldSrvImpl" />
>
> <osgi:service ref="HelloServImpl"
> interface="hello.remote.srv.HelloWorldSrvI">
> <osgi:service-properties >
> <entry key="vendor" value="test" />
> <entry key="implementation"
> value="PojoConfigurableService" />
> <entry key="implVersion" value="1.0" />
> <entry key="service.exported.interfaces" value="*" />
> <entry key="osgi.remote.interfaces" value="*" />
> <entry key="service.exported.configs"
> value="org.apache.cxf.ws" />
> <entry key="remotable" value="true" />
> <entry
> key="osgi.remote.configuration.pojo.httpservice.context"
> value="/hello" />
> </osgi:service-properties>
> </osgi:service>
> </beans>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.