Have you actually tried the examples from CXF-DOSGi 2.0.0? Are they really too complicated?
Christian 2016-11-04 12:20 GMT+01:00 Ancoron Luciferis < [email protected]>: > Hi, > > I just went the DS-route myself with JAX-RS inside Karaf. > > If you just want to publish a ReST endpoint going the remote services > route seems way too complex. > > What I found very useful and reliable to work especially for the dynamic > resource service case is the following: > > https://github.com/hstaudacher/osgi-jax-rs-connector > > As a result, my JAX-RS resources are dynamically activated/deactivated > declarative service components including references to other services > (e.g. internal data services, validators, ...). DS takes care about the > life-cycle and the osgi-jax-rs-connector just creates/updates/deletes > the wiring to Jersey and the exposure via the HTTP service (still Jetty > in case of Karaf). > > From a bundle-perspective, no direct wiring to the osgi-jax-rs-connector > is required as it detects the resources via annotation scanning (@Path). > > > Cheers, > > Ancoron > > > On 04/11/16 09:38, Bram Pouwelse wrote: > > In case you're looking for a JAX-RS whiteboard implementation you could > > have a look at https://amdatu.org/application/web/. It doesn't implement > > the complete JAX-RS whiteboard draft spec. It does not have a > > JaxRSServiceRuntime implementation yet and it's currently using Apache > > Wink internally (which is a JAX-RS 1.0 implementation). But the > > whiteboard works as described in the JAX-RS whiteboard specification > draft. > > > > Next step for us will be replacing Wink by another JAX-RS implementation > > that does implement the JAX-RS 2.0 spec > > > > Regards, > > Bram > > > > On Fri, Nov 4, 2016 at 9:26 AM Tim Ward <[email protected] > > <mailto:[email protected]>> wrote: > > > > I note that both of the Remote Services options provided have > > examples using JAX-RS annotated service interfaces, which doesn't > > actually match the code provided in the example below. > > > > Using Remote Services also doesn't give you a standard way to handle > > request scoped resources (i.e. prototype services) or a defined way > > to add JAX-RS filters, MessageBodyReaders etc. This is one of the > > reasons why a JAX-RS whiteboard specification is being created. > > > > A JAX-RS whiteboard also allows you to do things like returning a > > JAX-RS Response for streaming results, asynchronous returns, or just > > to give a response other than 200 without having to use an Exception > > in a main-line code path. > > > > Whilst it is therefore true that a subset of JAX-RS resources can be > > exposed using Remote Services, it's not necessarily a good option if > > you're looking to put together a full REST API. > > > > Regards, > > > > Tim > > > > Sent from my iPhone > > > > > On 4 Nov 2016, at 02:23, Scott Lewis <[email protected] > > <mailto:[email protected]>> wrote: > > > > > >> On 11/3/2016 2:17 AM, Christian Schneider wrote: > > >> You can use CXF-DOSGi to register your rest resource. You just > > need to add some properties to your example component to make it > work. > > > > > > Another option is to use ECF's impl of OSGI Remote Services [1] > > with the Jax-RS distribution provider [2,3]...which supports either > > Jersey or CXF impls of Jax-RS. > > > > > > Scott > > > > > > [1] > > http://wiki.eclipse.org/Eclipse_Communication_ > Framework_Project#OSGi_Remote_Services > > > [2] > > http://wiki.eclipse.org/Distribution_Providers#Jax-RS_REST_Providers > > > [3] https://github.com/ECF/JaxRSProviders > > > > > > > > >> > > >> See > > >> https://github.com/apache/cxf-dosgi/tree/master/samples > > >> > > >> There is a also a bndrun file to easily run and package CXF-DOSGi > > for bndtools. > > >> https://github.com/apache/cxf-dosgi/tree/master/samples/soap > > >> > > >> Christian > > >> > > >>> On 03.11.2016 03:05, Tanvir wrote: > > >>> I have a REST resource class, say Employees, and I need access > > to another service using DS. Hence I have to make this call a > > component. Now objects instantiated by @component and JAX-RS > > Servlet are not same. > > >>> > > >>> I do not want to use static reference to the service as shown > > below. How this can be handled? > > >>> > > >>> ----------------------------------------------- > > >>> @Component > > >>> @Path("employees") > > >>> public class EmployeeResource { > > >>> static MyService service; > > >>> @Reference > > >>> void setMyService(MyService s) { > > >>> service = s; > > >>> } > > >>> > > >>> @GET > > >>> @Produces("text/plain") > > >>> public String getEmployees() { > > >>> return service.get(); > > >>> } > > >>> } > > >>> > > >> > > >> > > > > > > _______________________________________________ > > > OSGi Developer Mail List > > > [email protected] <mailto:[email protected]> > > > https://mail.osgi.org/mailman/listinfo/osgi-dev > > _______________________________________________ > > OSGi Developer Mail List > > [email protected] <mailto:[email protected]> > > https://mail.osgi.org/mailman/listinfo/osgi-dev > > > > > > > > _______________________________________________ > > OSGi Developer Mail List > > [email protected] > > https://mail.osgi.org/mailman/listinfo/osgi-dev > > > > _______________________________________________ > OSGi Developer Mail List > [email protected] > https://mail.osgi.org/mailman/listinfo/osgi-dev > -- -- Christian Schneider http://www.liquid-reality.de <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de> Open Source Architect http://www.talend.com <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.talend.com>
_______________________________________________ OSGi Developer Mail List [email protected] https://mail.osgi.org/mailman/listinfo/osgi-dev
