On 21/12/12 10:47, Sergey Beryozkin wrote:
> In fact I'm now seeing greeter_rest working exactly as expected, by
> invoking both endpoints from the browser and greeter_rest client UI panels,
> 
> I added the internal activator as you found out to a single bundle
> distro - thanks for that - I've confirmed it is now possible to bind to
> HttpService when a single bundle is used too...
> 
> Though, I'm seeing the trunk tests hanging, with and without the update
> to a single bundle distro, I'm certain they passed OK for me few days
> ago - can Christian or yourself reproduce ?
> I wonder if it's transient, may be PaxRunner is sensitive to some Apache
> or Codehauz repos being down, etc ?

Actually, the tests started passing after I properly removed the updates
to a single bundle distro,
with the updates I did the tests are hanging at the shutdown time -

possibly due to the exception I'm seeing in standalone Felix at the
shutdown (single bundle, ):

RROR: Bundle cxf-dosgi-ri-singlebundle-distribution [5] EventDispatcher:
Error during dispatch. (java.lang.NoSuchMethodError:
org.eclipse.jetty.util.LazyList.removeFromArray([Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;)
        at
org.ops4j.pax.web.service.jetty.internal.JettyServerImpl.removeServlet(JettyServerImpl.java:189)

I wonder, does it highlight DOSGi ships wrong versions of Jetty or paxweb ?

Sergey

> 
> Sergey
> 
> 
> On 21/12/12 10:04, Sergey Beryozkin wrote:
>> Hi Tang,
>>
>> thanks for all the feedback so far,
>> On 21/12/12 09:53, Tang Yong wrote:
>>> Deeply, this difference of handling logic is caused by a config prop
>>> called "org.apache.cxf.rs.httpservice.context".
>>>
>>> While org.apache.cxf.rs.httpservice.context is not null(specified by
>>> user),  HttpServiceManager.getHttpService() will be called.
>>>
>>> However, in greeter demo, the prop is not specified.
>>>
>>> Pl. seeing JaxRSPojoConfigurationTypeHandler 123 line
>>
>> Yes - and in fact it simply confirms the issue will exist for JAX-WS
>> endpoints, if
>> "org.apache.cxf.ws.httpservice.context" is used - you can modify the
>> greeter demo and see it.
>>
>> Hence I'm not exactly sure if we should let this regression fixed at a
>> later stage or not; I honestly do not know if JAX-WS users tried using
>> more than one context withing a single bundle or not;
>>
>> "org.apache.cxf.rs/ws.httpservice.context" is used to link directly to
>> HTTP Service, while using relative addresses such as
>> "org.apache.cxf.ws.address" or "org.apache.cxf.rs.address" with values
>> like "/1", "/2" should bind the endpoint to Http Service indirectly via
>> CXF Servlet transport with all the endpoints sharing the same context
>> such as "/cxf" or "/services".
>>
>> Can you consider using a demo and try to see where the problem is ? I'm
>> suspecting it may be at a lower level, below DSW - given that we started
>> seeing the issue with the latest upgrades
>>
>>
>> Thanks, Sergey
>>
>>>
>>> Thanks
>>> --Tang
>>>
>>> Tang Yong wrote:
>>>> Maybe you can ask why greeter demo can work normally using http service?
>>>>
>>>> The reason is that handling logics of jax ws and jax rs scenes are
>>>> different.
>>>>
>>>> In jax rs scene, http service is obtained by
>>>> HttpServiceManager.getHttpService() , and needing a http service impl is
>>>> registered into OSGi registry ahead of time.
>>>>
>>>> However,in jax ws scene, http server with jax ws endpoint is created
>>>> using AbstractPojoConfigurationTypeHandler.createServerFromFactory.
>>>>
>>>> So, if you do not specify an activator(eg. from
>>>> pax-web-jetty-1.0.11.jar) in activators.list which can register a http
>>>> service impl, HttpServiceManager.getHttpService() will be failed.
>>>>
>>>> Thanks
>>>> --Tang
>>>>
>>>> Tang Yong wrote:
>>>>> Then, I added org.ops4j.pax.web.service.jetty.internal.Activator into
>>>>> activators.list and re-launched felix and installed/started greeter_rest
>>>>> demo, now the exception does not happen,
>>>>>
>>>>> D:\gf\org.apache.felix.main.distribution-4.0.3_1\felix-framework-4.0.3>java
>>>>> -jar bin\felix.jar
>>>>> ____________________________
>>>>> Welcome to Apache Felix Gogo
>>>>>
>>>>> g! install file:/d:/gf/org.osgi.compendium-4.2.0.jar
>>>>> Bundle ID: 6
>>>>> g! start 
>>>>> file:/d:/gf/cxf-dosgi-ri-singlebundle-distribution-1.4-SNAPSHOT.jar
>>>>> g! log4j:WARN No appenders could be found for logger
>>>>> (org.apache.zookeeper.ZooKeeper).
>>>>> log4j:WARN Please initialize the log4j system properly.
>>>>> start
>>>>> file:/d:/gf/cxf-dosgi-ri-samples-greeter-rest-interface-1.4-SNAPSHOT.jar
>>>>> g! start 
>>>>> file:/d:/gf/cxf-dosgi-ri-samples-greeter-rest-impl-1.4-SNAPSHOT.jar
>>>>> g! 12 21, 2012 12:17:00 午後 org.apache.cxf.endpoint.ServerImpl
>>>>> initDestination
>>>>> INFO: Setting the server's publish address to be
>>>>> /org/apache/cxf/dosgi/samples/greeter/rest/GreeterService
>>>>> 12 21, 2012 12:17:00 午後 org.apache.cxf.endpoint.ServerImpl initDestination
>>>>> INFO: Setting the server's publish address to be
>>>>> /org/apache/cxf/dosgi/samples/greeter/rest/GreeterService2
>>>>>
>>>>> So, please team confirmed the issue.
>>>>>
>>>>> Thanks
>>>>> --Tang
>>>>>
>>>>> Tang Yong wrote:
>>>>>> I have done a initial investigation on the exception,
>>>>>> Apparently, not any HttpService impl is registered.
>>>>>>
>>>>>> Although in activators.list,
>>>>>> org.ops4j.pax.web.service.internal.Activator is written, whether having
>>>>>> other reqiured activator(for example,
>>>>>> org.ops4j.pax.web.service.jetty.internal.Activator) used for registering
>>>>>> a HttpService impl is missing or not?
>>>>>>
>>>>>> Thanks
>>>>>> --Tang
>>>>>>
>>>>>> Tang Yong wrote:
>>>>>>> In addition,
>>>>>>>
>>>>>>> Does not the exception happened while trigging
>>>>>>> https://issues.apache.org/jira/browse/DOSGI-145?
>>>>>>>
>>>>>>> Thanks
>>>>>>> --Tang
>>>>>>>
>>>>>>> Tang Yong wrote:
>>>>>>>> Hi Team,
>>>>>>>>
>>>>>>>> About Distributed OSGi greeter_rest demo[1],
>>>>>>>> [1]: http://cxf.apache.org/distributed-osgi.html
>>>>>>>>
>>>>>>>> here there are some problems:
>>>>>>>>
>>>>>>>> 1 link[2] of greeter_rest demo is not right
>>>>>>>> [2]: 
>>>>>>>> http://cxf.apache.org/distributed-osgi-greeter-demo-walkthrough.html
>>>>>>>>
>>>>>>>> 2 about greeter_rest demo[3]'s running
>>>>>>>> [3]: 
>>>>>>>> http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/greeter_rest
>>>>>>>>
>>>>>>>> Using the following steps, while installing and starting
>>>>>>>> cxf-dosgi-ri-samples-greeter-rest-impl-1.4-SNAPSHOT.jar, an exception
>>>>>>>> happened:
>>>>>>>>
>>>>>>>> ____________________________
>>>>>>>> Welcome to Apache Felix Gogo
>>>>>>>>
>>>>>>>> g! lb
>>>>>>>> START LEVEL 1
>>>>>>>>       ID|State      |Level|Name
>>>>>>>>        0|Active     |    0|System Bundle (4.0.3)
>>>>>>>>        1|Active     |    1|Apache Log4J (1.2.15)
>>>>>>>>        2|Active     |    1|Apache Felix Bundle Repository (1.6.6)
>>>>>>>>        3|Active     |    1|Apache Felix Gogo Command (0.12.0)
>>>>>>>>        4|Active     |    1|Apache Felix Gogo Runtime (0.10.0)
>>>>>>>>        5|Active     |    1|Apache Felix Gogo Shell (0.10.0)
>>>>>>>> g! install file:/d:/gf/org.osgi.compendium-4.2.0.jar
>>>>>>>> Bundle ID: 6
>>>>>>>> g! lb
>>>>>>>> START LEVEL 1
>>>>>>>>       ID|State      |Level|Name
>>>>>>>>        0|Active     |    0|System Bundle (4.0.3)
>>>>>>>>        1|Active     |    1|Apache Log4J (1.2.15)
>>>>>>>>        2|Active     |    1|Apache Felix Bundle Repository (1.6.6)
>>>>>>>>        3|Active     |    1|Apache Felix Gogo Command (0.12.0)
>>>>>>>>        4|Active     |    1|Apache Felix Gogo Runtime (0.10.0)
>>>>>>>>        5|Active     |    1|Apache Felix Gogo Shell (0.10.0)
>>>>>>>>        6|Installed  |    1|osgi.cmpn (4.2.0.200908310645)
>>>>>>>> g! start 
>>>>>>>> file:/d:/gf/cxf-dosgi-ri-singlebundle-distribution-1.4-SNAPSHOT.jar
>>>>>>>> g! log4j:WARN No appenders could be found for logger
>>>>>>>> (org.apache.zookeeper.ZooKeeper).
>>>>>>>> log4j:WARN Please initialize the log4j system properly.
>>>>>>>> lb
>>>>>>>> START LEVEL 1
>>>>>>>>       ID|State      |Level|Name
>>>>>>>>        0|Active     |    0|System Bundle (4.0.3)
>>>>>>>>        1|Active     |    1|Apache Log4J (1.2.15)
>>>>>>>>        2|Active     |    1|Apache Felix Bundle Repository (1.6.6)
>>>>>>>>        3|Active     |    1|Apache Felix Gogo Command (0.12.0)
>>>>>>>>        4|Active     |    1|Apache Felix Gogo Runtime (0.10.0)
>>>>>>>>        5|Active     |    1|Apache Felix Gogo Shell (0.10.0)
>>>>>>>>        6|Resolved   |    1|osgi.cmpn (4.2.0.200908310645)
>>>>>>>>        7|Active     |    1|Distributed OSGi Distribution Software
>>>>>>>> Single-Bundle Distribution (1.4.0.SNAPSHOT)
>>>>>>>> g! start
>>>>>>>> file:/d:/gf/cxf-dosgi-ri-samples-greeter-rest-interface-1.4-SNAPSHOT.jar
>>>>>>>> g! start 
>>>>>>>> file:/d:/gf/cxf-dosgi-ri-samples-greeter-rest-impl-1.4-SNAPSHOT.jar
>>>>>>>> g! Exception in thread "pool-1-thread-2"
>>>>>>>> org.osgi.framework.ServiceException: CXF DOSGi: problem registering CXF
>>>>>>>> HTTP Servlet
>>>>>>>> Exception in thread "pool-1-thread-1"   at
>>>>>>>> org.apache.cxf.dosgi.dsw.handlers.HttpServiceManager.registerServletAndGetBus(HttpServiceManager.java:84)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.handlers.JaxRSPojoConfigurationTypeHandler.createServer(JaxRSPojoConfigurationTypeHandler.java:123)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:123)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:70)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:64)
>>>>>>>>            at java.security.AccessController.doPrivileged(Native 
>>>>>>>> Method)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:64)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:37)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.topologymanager.exporter.TopologyManagerExport.doExportService(TopologyManagerExport.java:250)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.topologymanager.exporter.TopologyManagerExport.access$200(TopologyManagerExport.java:51)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.topologymanager.exporter.TopologyManagerExport$3.run(TopologyManagerExport.java:214)
>>>>>>>>            at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>            at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>            at java.lang.Thread.run(Thread.java:722)
>>>>>>>> Caused by: java.lang.RuntimeException: No HTTPService found
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.handlers.HttpServiceManager.getHttpService(HttpServiceManager.java:92)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.handlers.HttpServiceManager.registerServletAndGetBus(HttpServiceManager.java:77)
>>>>>>>>            ... 13 more
>>>>>>>> org.osgi.framework.ServiceException: CXF DOSGi: problem registering CXF
>>>>>>>> HTTP Servlet
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.handlers.HttpServiceManager.registerServletAndGetBus(HttpServiceManager.java:84)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.handlers.JaxRSPojoConfigurationTypeHandler.createServer(JaxRSPojoConfigurationTypeHandler.java:123)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:123)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:70)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:64)
>>>>>>>>            at java.security.AccessController.doPrivileged(Native 
>>>>>>>> Method)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:64)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:37)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.topologymanager.exporter.TopologyManagerExport.doExportService(TopologyManagerExport.java:250)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.topologymanager.exporter.TopologyManagerExport.access$200(TopologyManagerExport.java:51)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.topologymanager.exporter.TopologyManagerExport$3.run(TopologyManagerExport.java:214)
>>>>>>>>            at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>            at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>            at java.lang.Thread.run(Thread.java:722)
>>>>>>>> Caused by: java.lang.RuntimeException: No HTTPService found
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.handlers.HttpServiceManager.getHttpService(HttpServiceManager.java:92)
>>>>>>>>            at
>>>>>>>> org.apache.cxf.dosgi.dsw.handlers.HttpServiceManager.registerServletAndGetBus(HttpServiceManager.java:77)
>>>>>>>>            ... 13 more
>>>>>>>> gosh: stopping framework
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
> 
> 


-- 
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Blog: http://sberyozkin.blogspot.com

Reply via email to