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


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