[ 
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.

Reply via email to