[ 
https://issues.apache.org/jira/browse/CXF-2467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12765530#action_12765530
 ] 

David Bosschaert edited comment on CXF-2467 at 10/14/09 5:06 AM:
-----------------------------------------------------------------

Hi Florian,

I tried to reproduce your issue with the Spring-DM demo that's part of the 
DOSGi code base. I also used Eclipse 3.5.1 as this is the version you are using.

First of all, I'm bootstrapping the Equinox container with a configuration file 
(config.ini in the Equinox configuration directory). I've attached mine to this 
bug FYI. Since some of the CXF-DOSGi third-party libs don't use OSGi services 
for their dependencies, they need to be started in the right order. I can't 
fully recall for which bundles this is necessary but I think they're in the 
ones pulled in via geronimo or servicemix.
By putting in a config.ini file like the attached, Equinox will start all the 
bundles in the specified order. You can obviously also use start levels to 
achieve the same.

After booting up Equinox with the specified config.ini, I'm installing the 
Spring-DM demo. I've changed it to use the exact same properties as you report 
in the bug. 
It works (you will get the WSDL when going to http://localhost:8080/hello?wsdl) 
and after shutting down and restarting it still works for me. I've attached the 
bundles from the demo that I used to the bug, so you could try this out as well.

BTW, the multi-bundle distro contains two files in the conf/ directory that you 
can use as a starting point for your config.ini/config.properties file. There's 
one for Equinox and another one for Felix. You can also simply append these 
files to the Equinox or Felix configuration files if you have one already.

Oh, and finally, to be complete, these are the bundles that I have. Most of 
them are pulled in from the config.ini file. Only the last two are installed 
from the Equinox console with the install command. They are the two bundles 
belonging to the Spring-DM demo...

0       ACTIVE      org.eclipse.osgi_3.5.1.R35x_v20090827
1       ACTIVE      org.eclipse.osgi.services_3.2.0.v20090520-1800
3       ACTIVE      org.apache.geronimo.specs.geronimo-annotation_1.0_spec_1.1.1
4       ACTIVE      org.apache.geronimo.specs.geronimo-activation_1.1_spec_1.0.2
5       ACTIVE      org.apache.geronimo.specs.geronimo-javamail_1.4_spec_1.2.0
6       ACTIVE      
org.apache.geronimo.specs.geronimo-ws-metadata_2.0_spec_1.1.2
7       ACTIVE      com.springsource.org.apache.commons.logging_1.1.1
8       ACTIVE      com.springsource.org.jdom_1.0.0
9       ACTIVE      org.springframework.core_2.5.6
10      ACTIVE      org.springframework.beans_2.5.6
11      ACTIVE      org.springframework.context_2.5.6
12      ACTIVE      com.springsource.org.aopalliance_1.0.0
13      ACTIVE      org.springframework.aop_2.5.6
14      ACTIVE      org.springframework.osgi.io_1.2.0
15      ACTIVE      org.springframework.osgi.core_1.2.0
16      ACTIVE      org.springframework.osgi.extender_1.2.0
17      ACTIVE      org.ops4j.pax.web.service_0.5.1
18      ACTIVE      org.apache.servicemix.bundles.jaxb-impl_2.1.6.1
19      ACTIVE      org.apache.servicemix.bundles.wsdl4j_1.6.1.1
20      ACTIVE      org.apache.servicemix.bundles.xmlsec_1.3.0.1
21      ACTIVE      org.apache.servicemix.bundles.xmlschema_1.4.3.1
22      ACTIVE      org.apache.servicemix.bundles.asm_2.2.3.1
23      ACTIVE      org.apache.servicemix.bundles.xmlresolver_1.2.0.1
24      ACTIVE      org.apache.servicemix.bundles.neethi_2.0.4.1
25      ACTIVE      org.apache.servicemix.bundles.woodstox_3.2.7.1
26      ACTIVE      org.apache.cxf.bundle-minimal_2.2.3
27      ACTIVE      org.apache.servicemix.specs.saaj-api-1.3_1.3.0
28      ACTIVE      org.apache.servicemix.specs.stax-api-1.0_1.3.0
29      ACTIVE      org.apache.servicemix.specs.jaxb-api-2.1_1.3.0
30      ACTIVE      org.apache.servicemix.specs.jaxws-api-2.1_1.3.0
31      ACTIVE      org.apache.servicemix.specs.jsr311-api-1.0_1.3.0
32      ACTIVE      cxf-dosgi-ri-discovery-local_1.1.0.SNAPSHOT
33      ACTIVE      cxf-dosgi-ri-dsw-cxf_1.1.0.SNAPSHOT
37      ACTIVE      cxf-dosgi-ri-samples-spring-dm-impl_1.1.0.SNAPSHOT
38      ACTIVE      cxf-dosgi-ri-samples-spring-dm-interface_1.1.0.SNAPSHOT

      was (Author: bosschaert):
    Hi Florian,

I tried to reproduce your issue with the Spring-DM demo that's part of the 
DOSGi code base. I also used Eclipse 3.5.1 as this is the version you are using.

First of all, I'm bootstrapping the Equinox container with a configuration file 
(config.ini in the Equinox configuration directory). I've attached mine to this 
bug FYI. Since some of the CXF-DOSGi third-party libs don't use OSGi services 
for their dependencies, they need to be started in the right order. I can't 
fully recall for which bundles this is necessary but I think they're in the 
ones pulled in via geronimo or servicemix.
By putting in a config.ini file like the attached, Equinox will start all the 
bundles in the specified order. You can obviously also use start levels to 
achieve the same.

After booting up Equinox with the specified config.ini, I'm installing the 
Spring-DM demo. I've changed it to use the exact same properties as you report 
in the bug. 
It works (you will get the WSDL when going to http://localhost:8080/hello?wsdl) 
and after shutting down and restarting it still works for me. I've attached the 
bundles from the demo that I used to the bug, so you could try this out as well.

BTW, the multi-bundle distro contains two files in the conf/ directory that you 
can use as a starting point for your config.ini/config.properties file. There's 
one for Equinox and another one for Felix. You can also simply append these 
files to the Equinox or Felix configuration files if you have one already.

Oh, and finally, to be complete, these are the bundles that I have. Most of 
them are pulled in from the config.ini file. Only the last two are installed 
from the Equinox console with the install command. They are the two bundles 
belonging to the Spring-DM demo...

0       ACTIVE      org.eclipse.osgi_3.5.1.R35x_v20090827
1       ACTIVE      org.eclipse.osgi.services_3.2.0.v20090520-1800
3       ACTIVE      org.apache.geronimo.specs.geronimo-annotation_1.0_spec_1.1.1

4       ACTIVE      org.apache.geronimo.specs.geronimo-activation_1.1_spec_1.0.2

5       ACTIVE      org.apache.geronimo.specs.geronimo-javamail_1.4_spec_1.2.0
6       ACTIVE      org.apache.geronimo.specs.geronimo-ws-metadata_2.0_spec_1.1.
2
7       ACTIVE      com.springsource.org.apache.commons.logging_1.1.1
8       ACTIVE      com.springsource.org.jdom_1.0.0
9       ACTIVE      org.springframework.core_2.5.6
10      ACTIVE      org.springframework.beans_2.5.6
11      ACTIVE      org.springframework.context_2.5.6
12      ACTIVE      com.springsource.org.aopalliance_1.0.0
13      ACTIVE      org.springframework.aop_2.5.6
14      ACTIVE      org.springframework.osgi.io_1.2.0
15      ACTIVE      org.springframework.osgi.core_1.2.0
16      ACTIVE      org.springframework.osgi.extender_1.2.0
17      ACTIVE      org.ops4j.pax.web.service_0.5.1
18      ACTIVE      org.apache.servicemix.bundles.jaxb-impl_2.1.6.1
19      ACTIVE      org.apache.servicemix.bundles.wsdl4j_1.6.1.1
20      ACTIVE      org.apache.servicemix.bundles.xmlsec_1.3.0.1
21      ACTIVE      org.apache.servicemix.bundles.xmlschema_1.4.3.1
22      ACTIVE      org.apache.servicemix.bundles.asm_2.2.3.1
23      ACTIVE      org.apache.servicemix.bundles.xmlresolver_1.2.0.1
24      ACTIVE      org.apache.servicemix.bundles.neethi_2.0.4.1
25      ACTIVE      org.apache.servicemix.bundles.woodstox_3.2.7.1
26      ACTIVE      org.apache.cxf.bundle-minimal_2.2.3
27      ACTIVE      org.apache.servicemix.specs.saaj-api-1.3_1.3.0
28      ACTIVE      org.apache.servicemix.specs.stax-api-1.0_1.3.0
29      ACTIVE      org.apache.servicemix.specs.jaxb-api-2.1_1.3.0
30      ACTIVE      org.apache.servicemix.specs.jaxws-api-2.1_1.3.0
31      ACTIVE      org.apache.servicemix.specs.jsr311-api-1.0_1.3.0
32      ACTIVE      cxf-dosgi-ri-discovery-local_1.1.0.SNAPSHOT
33      ACTIVE      cxf-dosgi-ri-dsw-cxf_1.1.0.SNAPSHOT
37      ACTIVE      cxf-dosgi-ri-samples-spring-dm-impl_1.1.0.SNAPSHOT
38      ACTIVE      cxf-dosgi-ri-samples-spring-dm-interface_1.1.0.SNAPSHOT
  
> 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