You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Muse Mekuria <mu...@gmail.com> on 2016/09/01 16:53:10 UTC

Re: RxJava Observable with CXF

Hi Sergey,

I've been trying to setup very simple spring boot setup with the jax-rs
starter in order to try the RxJava updates and I'm having trouble getting
it to work. Not sure what I'm missing but everything I tried gives me a
404. I've looked at JAX-RS Spring Boot Scan
<https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application>
and
tried both manual and auto configurations but no luck so far
<https://github.com/mekuriam/cxfdemo>.


Any thoughts?

Thanks!


On Wed, Aug 31, 2016 at 11:58 AM, Sergey Beryozkin <sb...@gmail.com>
wrote:

> I've looked a bit more today into it, see
> http://git-wip-us.apache.org/repos/asf/cxf/commit/1224d5cc
>
> It does offer a much better integration with JAX-RS 2.0 AsyncResponse, see
> a test there which streams the subscription items as get available which is
> quite useful. AsyncResponse itself can do multiple suspends till the first
> items start appearing.
>
> I think more can be done there (may be later), but I suppose it will need
> to go into a dedicated module for 3.2.0 as the relevant code is going to
> grow for sure.
>
> Cheers, Sergey
> On 31/08/16 14:34, Muse Mekuria wrote:
>
>> Great! I'll be looking forward to this.
>>
>> Muse
>>
>> On Tue, Aug 30, 2016 at 1:04 PM, Sergey Beryozkin <sberyozkin@gmail.com
>> <ma...@gmail.com>> wrote:
>>
>>     This should address this issue:
>>
>>     http://git-wip-us.apache.org/repos/asf/cxf/commit/502db47a
>>     <http://git-wip-us.apache.org/repos/asf/cxf/commit/502db47a>
>>
>>     More work will be done on the client side too later on, with
>>     CompletableFuture to be supported OOB.
>>
>>     Sergey
>>
>>     On 30/08/16 09:47, Sergey Beryozkin wrote:
>>
>>         Hi Muse
>>
>>         Thanks for starting experimenting with it.
>>         It is fair to say that this feature requires more work - it is
>> being
>>         planned.
>>         I'll add a missing @Provider annotation and that alone will let
>> this
>>         provider be auto discovered too with CXF 3.1.8 (with a
>>         cxf.jaxrs.classes-scan -
>>         http://cxf.apache.org/docs/springboot.html#SpringBoot-Additi
>> onalConfiguration.1
>>         <http://cxf.apache.org/docs/springboot.html#SpringBoot-Addit
>> ionalConfiguration.1>).
>>
>>
>>
>>         I haven't tried yet Observable.just where a list is implicit -
>>         will take
>>         a look at it
>>
>>         Cheers, Sergey
>>
>>
>>         On 29/08/16 16:09, Muse Mekuria wrote:
>>
>>             Hi Sergey,
>>
>>             I am working with Spring Boot & CXF and trying to implement
>>             our APIs
>>             with RxJava Observables. I used the ObservableWriter I found
>>             here
>>             <https://github.com/apache/cxf/commit/447f2dac6e160b5cd49555
>> 8ca8855ed481396c63
>>             <https://github.com/apache/cxf/commit/447f2dac6e160b5cd49555
>> 8ca8855ed481396c63>>
>>             and
>>             added some Spring annotations so it gets picked up like so...
>>
>>             @Provider@Component@Produces(MediaType.APPLICATION_JSON)
>>             public class ObservableWriter<T> implements
>>             MessageBodyWriter<Observable<T>>  {...
>>
>>             My api returns an empty list when I try to return the type
>>             Observable<T>
>>             (where I am expecting a list of T) but if I wrap the whole
>>             list into
>>             Observable<List<T>> I get my response.
>>
>>             So my question is
>>
>>               * Is there any documentation on how to use these
>>             extensions properly
>>                 or is it still not ready for use
>>               * I was hoping to find something like this
>>                 <https://github.com/jmnarloch/rxjava-spring-boot-starter
>>             <https://github.com/jmnarloch/rxjava-spring-boot-starter>>
>>             where the
>>                 produced results are wrapped into a list, am I missing
>>             something or
>>                 is this not available yet?
>>
>>             Thank you!
>>             Muse
>>
>>
>>
>>
>>
>>     --
>>     Sergey Beryozkin
>>
>>     Talend Community Coders
>>     http://coders.talend.com/
>>
>>
>>
>

Re: RxJava Observable with CXF

Posted by Sergey Beryozkin <sb...@gmail.com>.
FYI, I moved the RxJava code into cxf-rt-rs-extension-rx as it is 
expected to grow

Sergey
On 01/09/16 21:48, Sergey Beryozkin wrote:
> Hi
>
> I believe it has to be "/cxfdemo" as opposed to "/cxfdemo/*",
> autoconfigurer set a correct servlet pattern itself, though may be it
> should recognize the custom property already has it...
>
> Sergey
> On 01/09/16 17:53, Muse Mekuria wrote:
>> Hi Sergey,
>>
>> I've been trying to setup very simple spring boot setup with the jax-rs
>> starter in order to try the RxJava updates and I'm having trouble getting
>> it to work. Not sure what I'm missing but everything I tried gives me a
>> 404. I've looked at JAX-RS Spring Boot Scan
>> <https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application>
>>
>> and
>> tried both manual and auto configurations but no luck so far
>> <https://github.com/mekuriam/cxfdemo>.
>>
>>
>> Any thoughts?
>>
>> Thanks!
>>
>>
>> On Wed, Aug 31, 2016 at 11:58 AM, Sergey Beryozkin <sb...@gmail.com>
>> wrote:
>>
>>> I've looked a bit more today into it, see
>>> http://git-wip-us.apache.org/repos/asf/cxf/commit/1224d5cc
>>>
>>> It does offer a much better integration with JAX-RS 2.0
>>> AsyncResponse, see
>>> a test there which streams the subscription items as get available
>>> which is
>>> quite useful. AsyncResponse itself can do multiple suspends till the
>>> first
>>> items start appearing.
>>>
>>> I think more can be done there (may be later), but I suppose it will
>>> need
>>> to go into a dedicated module for 3.2.0 as the relevant code is going to
>>> grow for sure.
>>>
>>> Cheers, Sergey
>>> On 31/08/16 14:34, Muse Mekuria wrote:
>>>
>>>> Great! I'll be looking forward to this.
>>>>
>>>> Muse
>>>>
>>>> On Tue, Aug 30, 2016 at 1:04 PM, Sergey Beryozkin <sberyozkin@gmail.com
>>>> <ma...@gmail.com>> wrote:
>>>>
>>>>     This should address this issue:
>>>>
>>>>     http://git-wip-us.apache.org/repos/asf/cxf/commit/502db47a
>>>>     <http://git-wip-us.apache.org/repos/asf/cxf/commit/502db47a>
>>>>
>>>>     More work will be done on the client side too later on, with
>>>>     CompletableFuture to be supported OOB.
>>>>
>>>>     Sergey
>>>>
>>>>     On 30/08/16 09:47, Sergey Beryozkin wrote:
>>>>
>>>>         Hi Muse
>>>>
>>>>         Thanks for starting experimenting with it.
>>>>         It is fair to say that this feature requires more work - it is
>>>> being
>>>>         planned.
>>>>         I'll add a missing @Provider annotation and that alone will let
>>>> this
>>>>         provider be auto discovered too with CXF 3.1.8 (with a
>>>>         cxf.jaxrs.classes-scan -
>>>>         http://cxf.apache.org/docs/springboot.html#SpringBoot-Additi
>>>> onalConfiguration.1
>>>>         <http://cxf.apache.org/docs/springboot.html#SpringBoot-Addit
>>>> ionalConfiguration.1>).
>>>>
>>>>
>>>>
>>>>         I haven't tried yet Observable.just where a list is implicit -
>>>>         will take
>>>>         a look at it
>>>>
>>>>         Cheers, Sergey
>>>>
>>>>
>>>>         On 29/08/16 16:09, Muse Mekuria wrote:
>>>>
>>>>             Hi Sergey,
>>>>
>>>>             I am working with Spring Boot & CXF and trying to implement
>>>>             our APIs
>>>>             with RxJava Observables. I used the ObservableWriter I
>>>> found
>>>>             here
>>>>
>>>> <https://github.com/apache/cxf/commit/447f2dac6e160b5cd49555
>>>> 8ca8855ed481396c63
>>>>
>>>> <https://github.com/apache/cxf/commit/447f2dac6e160b5cd49555
>>>> 8ca8855ed481396c63>>
>>>>             and
>>>>             added some Spring annotations so it gets picked up like
>>>> so...
>>>>
>>>>             @Provider@Component@Produces(MediaType.APPLICATION_JSON)
>>>>             public class ObservableWriter<T> implements
>>>>             MessageBodyWriter<Observable<T>>  {...
>>>>
>>>>             My api returns an empty list when I try to return the type
>>>>             Observable<T>
>>>>             (where I am expecting a list of T) but if I wrap the whole
>>>>             list into
>>>>             Observable<List<T>> I get my response.
>>>>
>>>>             So my question is
>>>>
>>>>               * Is there any documentation on how to use these
>>>>             extensions properly
>>>>                 or is it still not ready for use
>>>>               * I was hoping to find something like this
>>>>
>>>> <https://github.com/jmnarloch/rxjava-spring-boot-starter
>>>>             <https://github.com/jmnarloch/rxjava-spring-boot-starter>>
>>>>             where the
>>>>                 produced results are wrapped into a list, am I missing
>>>>             something or
>>>>                 is this not available yet?
>>>>
>>>>             Thank you!
>>>>             Muse
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>     --
>>>>     Sergey Beryozkin
>>>>
>>>>     Talend Community Coders
>>>>     http://coders.talend.com/
>>>>
>>>>
>>>>
>>>
>>
>
>


-- 
Sergey Beryozkin

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

Re: RxJava Observable with CXF

Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi

I believe it has to be "/cxfdemo" as opposed to "/cxfdemo/*", 
autoconfigurer set a correct servlet pattern itself, though may be it 
should recognize the custom property already has it...

Sergey
On 01/09/16 17:53, Muse Mekuria wrote:
> Hi Sergey,
>
> I've been trying to setup very simple spring boot setup with the jax-rs
> starter in order to try the RxJava updates and I'm having trouble getting
> it to work. Not sure what I'm missing but everything I tried gives me a
> 404. I've looked at JAX-RS Spring Boot Scan
> <https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application>
> and
> tried both manual and auto configurations but no luck so far
> <https://github.com/mekuriam/cxfdemo>.
>
>
> Any thoughts?
>
> Thanks!
>
>
> On Wed, Aug 31, 2016 at 11:58 AM, Sergey Beryozkin <sb...@gmail.com>
> wrote:
>
>> I've looked a bit more today into it, see
>> http://git-wip-us.apache.org/repos/asf/cxf/commit/1224d5cc
>>
>> It does offer a much better integration with JAX-RS 2.0 AsyncResponse, see
>> a test there which streams the subscription items as get available which is
>> quite useful. AsyncResponse itself can do multiple suspends till the first
>> items start appearing.
>>
>> I think more can be done there (may be later), but I suppose it will need
>> to go into a dedicated module for 3.2.0 as the relevant code is going to
>> grow for sure.
>>
>> Cheers, Sergey
>> On 31/08/16 14:34, Muse Mekuria wrote:
>>
>>> Great! I'll be looking forward to this.
>>>
>>> Muse
>>>
>>> On Tue, Aug 30, 2016 at 1:04 PM, Sergey Beryozkin <sberyozkin@gmail.com
>>> <ma...@gmail.com>> wrote:
>>>
>>>     This should address this issue:
>>>
>>>     http://git-wip-us.apache.org/repos/asf/cxf/commit/502db47a
>>>     <http://git-wip-us.apache.org/repos/asf/cxf/commit/502db47a>
>>>
>>>     More work will be done on the client side too later on, with
>>>     CompletableFuture to be supported OOB.
>>>
>>>     Sergey
>>>
>>>     On 30/08/16 09:47, Sergey Beryozkin wrote:
>>>
>>>         Hi Muse
>>>
>>>         Thanks for starting experimenting with it.
>>>         It is fair to say that this feature requires more work - it is
>>> being
>>>         planned.
>>>         I'll add a missing @Provider annotation and that alone will let
>>> this
>>>         provider be auto discovered too with CXF 3.1.8 (with a
>>>         cxf.jaxrs.classes-scan -
>>>         http://cxf.apache.org/docs/springboot.html#SpringBoot-Additi
>>> onalConfiguration.1
>>>         <http://cxf.apache.org/docs/springboot.html#SpringBoot-Addit
>>> ionalConfiguration.1>).
>>>
>>>
>>>
>>>         I haven't tried yet Observable.just where a list is implicit -
>>>         will take
>>>         a look at it
>>>
>>>         Cheers, Sergey
>>>
>>>
>>>         On 29/08/16 16:09, Muse Mekuria wrote:
>>>
>>>             Hi Sergey,
>>>
>>>             I am working with Spring Boot & CXF and trying to implement
>>>             our APIs
>>>             with RxJava Observables. I used the ObservableWriter I found
>>>             here
>>>             <https://github.com/apache/cxf/commit/447f2dac6e160b5cd49555
>>> 8ca8855ed481396c63
>>>             <https://github.com/apache/cxf/commit/447f2dac6e160b5cd49555
>>> 8ca8855ed481396c63>>
>>>             and
>>>             added some Spring annotations so it gets picked up like so...
>>>
>>>             @Provider@Component@Produces(MediaType.APPLICATION_JSON)
>>>             public class ObservableWriter<T> implements
>>>             MessageBodyWriter<Observable<T>>  {...
>>>
>>>             My api returns an empty list when I try to return the type
>>>             Observable<T>
>>>             (where I am expecting a list of T) but if I wrap the whole
>>>             list into
>>>             Observable<List<T>> I get my response.
>>>
>>>             So my question is
>>>
>>>               * Is there any documentation on how to use these
>>>             extensions properly
>>>                 or is it still not ready for use
>>>               * I was hoping to find something like this
>>>                 <https://github.com/jmnarloch/rxjava-spring-boot-starter
>>>             <https://github.com/jmnarloch/rxjava-spring-boot-starter>>
>>>             where the
>>>                 produced results are wrapped into a list, am I missing
>>>             something or
>>>                 is this not available yet?
>>>
>>>             Thank you!
>>>             Muse
>>>
>>>
>>>
>>>
>>>
>>>     --
>>>     Sergey Beryozkin
>>>
>>>     Talend Community Coders
>>>     http://coders.talend.com/
>>>
>>>
>>>
>>
>


-- 
Sergey Beryozkin

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