[ 
https://issues.apache.org/jira/browse/ARIES-1789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16389537#comment-16389537
 ] 

Timothy Ward commented on ARIES-1789:
-------------------------------------

This code does not seem to be using clientBuilder.newBuilder(). The exception 
stack trace indicates that the failing line is SSEEventSource.target().

 

In any event, when using the JAX-RS whiteboard a ClientBuilder must be obtained 
as an OSGi service from the service registry. The same is true of the 
SSEEventSource (which must be obtained as a factory).

 

The specification describes this process 
[here|[https://osgi.org/specification/osgi.cmpn/7.0.0/service.jaxrs.html#d0e134170]|https://osgi.org/specification/osgi.cmpn/7.0.0/service.jaxrs.html#d0e134170].],
 and the SSEEventSourceFactory is documented [here 
title|[https://osgi.org/specification/osgi.cmpn/7.0.0/service.jaxrs.html#org.osgi.service.jaxrs.client.SseEventSourceFactory].]

 

Note that the Aries JAX-RS whiteboard does not yet support the SSE features - 
this work is ongoing. [~csierra] can probably tell you more.

> ClientBuilder and SSE
> ---------------------
>
>                 Key: ARIES-1789
>                 URL: https://issues.apache.org/jira/browse/ARIES-1789
>             Project: Aries
>          Issue Type: Bug
>          Components: jax-rs-whiteboard
>    Affects Versions: jax-rs-whiteboard-1.0.0
>            Reporter: Stefan Bischof
>            Priority: Major
>
> Hi,
> when using:
> clientBuilder.newBuilder();
> i got a
>  
> {code:java}
> java.lang.ClassNotFoundException: 
> org.glassfish.jersey.client.JerseyClientBuilder not found by 
> org.apache.aries.javax.jax.rs-api
> or 
> java.lang.ClassNotFoundException: 
> org.glassfish.jersey.media.sse.internal.JerseySseEventSource$Builder not 
> found by org.apache.aries.javax.jax.rs-api [7]
>     at 
> javax.ws.rs.sse.SseEventSource$Builder.newBuilder(SseEventSource.java:153)
>     at javax.ws.rs.sse.SseEventSource.target(SseEventSource.java:238)
>     at de.jena.servicehub.phone.demo.DemoSseClient.test(DemoSseClient.java:38)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:498)
>     at org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:136)
>     at 
> org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:91)
>     at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:571)
>     at 
> org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:497)
>     at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:386)
>     at org.apache.felix.gogo.runtime.Pipe.doCall(Pipe.java:417)
>     at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:229)
>     at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:59)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>     at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.ClassNotFoundException: 
> org.glassfish.jersey.media.sse.internal.JerseySseEventSource$Builder not 
> found by org.apache.aries.javax.jax.rs-api [7]
>     at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1639{code}
>  
> Both builders uses defaultClassNames
>  
> {code:java}
> javax.ws.rs.client.ClientBuilder
> JAXRS_DEFAULT_CLIENT_BUILDER = 
> "org.glassfish.jersey.client.JerseyClientBuilder";
>  
> javax.ws.rs.sse.SseEventSource.Builder
> String JAXRS_DEFAULT_SSE_BUILDER = 
> "org.glassfish.jersey.media.sse.internal.JerseySseEventSource$Builder";
> {code}
> Both calls
> javax.ws.rs.client.FactoryFinder.find(..)
> and tryes to get the Object over
> -ServiceLoader
> -java.home/jaxrs.properties
> -SystemPropertys
> -Class.forName(defaultclassName);
> 1. is there any was to use .newBuilder?
> 2. is ther eny way to @Reference SseEventSource?
> 3. is there any handling of serverside events in Aries Whiteboard or is it 
> necessary to register the SseFeature of(cxf/jersy) by myselfe?
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to