cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Beryozkin <sberyoz...@gmail.com>
Subject Re: How to contribue a CXF JAX-RS OSGi Sample?
Date Mon, 14 Nov 2011 11:35:19 GMT
Hi KL,

(sorry if it's not a complete name :-))
On 12/11/11 06:28, K Fung wrote:
> Hi Sergey,
>
> Nope, you haven't discouraged me :-) It was good feedback and I'm taking it
> in for my next round of revision.
>
> Unfortunately, I haven't had a lot of time to put into it but I should be
> able to make another pass at it toward the end of November. I'm keen on
> continuing to work on this as something to deliver in CXF.
>
> One feedback that I did have was instead of using BundleListener to listen
> for incoming bundles and registering JAX-RS things, do you think it makes
> sense for us to use OSGI declarative services (e.g., the Maven SCR bundle)
> instead to have the runtime automatically do this
> registration/deregistration of resources? However, this would be considered
> more of an enhancement to the existing CXF feature set, instead of
> something that illustrates how to use JAX-RS, right?
>
Right, that would overlap quite a bit with what DOSGi can offer, so I'd 
postpone dealing with this enhancement until later... I reckon that 
having a sync request for available provider services 
(MessageBodyReader/Writer, etc) in Activator for them to be provided to 
JAXRSServerFactoryBean at a time of creating an endpoint as well as 
listening for bundles containing Application info in META-INF/services 
would be fine, S META-INF/services would be fine (similarly to the way 
Blueprint/Spring can be used to create endpoints when installing the 
bundles)

Cheers, Sergey

> Cheers,
> kl
>
>
> On Fri, Nov 11, 2011 at 9:03 AM, Sergey Beryozkin<sberyozkin@gmail.com>wrote:
>
>> Hi,
>>
>> how is your demo going, hope I haven't discouraged with my comments :-)
>>
>> Sergey
>>
>>
>> On 19/10/11 10:28, Sergey Beryozkin wrote:
>>
>>> By the way, at the next stage we can also probably create the Activator
>>> part in the jaxrs fronentend/osgi - this can be optionally enabled and
>>> what it will do it will probably do BundleListener and check which ones
>>> contain Applications, as well as do ServiceTracker on Application,
>>> MessageReaderWriter/Reader services, etc
>>>
>>> Cheers, Sergey
>>>
>>> On 18/10/11 14:18, Sergey Beryozkin wrote:
>>>
>>>> Hi
>>>>
>>>> Thanks for this patch, I think it's a nice interesting example, shows
>>>> the bare Activator and ServiceTracker in action...
>>>>
>>>> Please see comments inline
>>>>
>>>> On 18/10/11 05:28, K Fung wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> I've uploaded the initial code sample to
>>>>> https://issues.apache.org/**jira/browse/CXF-3859<https://issues.apache.org/jira/browse/CXF-3859>to
garner the first
>>>>> round of
>>>>> feedback. Per request, it includes a README to explains how it works.
>>>>>
>>>>> In particular, I'm looking feedback for the following issues:
>>>>>
>>>>> - What's your opinion to using the Application model instead of
>>>>> JAXRSServerFactoryBean directly?
>>>>>
>>>>
>>>> One thing I noted that you introduce a SampleServlet, but
>>>> CXFNonSpringJAXRSServlet can handle it itself. CXFNonSpringJAXRSServlet
>>>> will also make sure Application instances can get JAX-RS contexts
>>>> injected if needed and Applications themselves can be injected into
>>>> resource classes which is all has to be supported in JAX-RS 1.1.
>>>> Using Applications is probably better for the example, but using
>>>> JAXRSServerFactoryBean will provide more options (such as applying
>>>> external models to non-annotated classes).
>>>>
>>>> Actually, I'm seeing the READme, CXFNonSpringJAXRSServlet should still
>>>> be capable though, as it delegates via ResourceUtils to load the
>>>> Application classes, that should work ?
>>>>
>>>>
>>>>   - Is it okay not to use the latest Eclipse Equinox? I'm not using the
>>>>> latest
>>>>> Eclipse Equinox at the moment because 1) it has issues with Felix due
>>>>> to use
>>>>> of generics and 2) the required services bundle is not registered in
>>>>> Maven
>>>>>
>>>>
>>>> probably OK for the purpose of the demo, perhaps README can clarify
>>>> that. What about those java.net and snapshots repositories though, can
>>>> we avoid using them ?
>>>>
>>>>   - What do you think about using Apache Felix's File Install to install
>>>>> the
>>>>> bundles?
>>>>>
>>>>
>>>> Why not, Karaf is probably using that one too
>>>>
>>>>   - Does the README require further enhancement or more description or
>>>>> perhaps
>>>>> more documentation is necessary within the sample itself?
>>>>>
>>>>>
>>>> READMe is fine but I'm wondering if we should make it sound a bit more
>>>> optimistic :-), we just have JAX-RS demos working in Karaf :-). In the
>>>> introduction I'd only have:
>>>>
>>>> "This sample demonstrates the minimal amount of bundles necessary to get
>>>> a sample that uses CXF's JAX-RS implementation to work correctly in most
>>>> OSGI environments", etc...
>>>>
>>>>
>>>>   Before I declare it fit for prime time, I would like to work on the
>>>>> following things:
>>>>>
>>>>> - Check if sample runs correctly on Java 5
>>>>> - Check if sample should be compiled with other samples when running
>>>>> maven
>>>>> on the parent pom
>>>>>
>>>>
>>>> Please do...
>>>>
>>>>   - Provide a run.sh sample (in addition to the current run.bat)
>>>>>
>>>>
>>>> Can we make that run using a maven profile ? Instead of having
>>>> run.bat/sh ? may be you can copy&  paste the relevant "server" profile
>>>> from jaxrs/spring-security or basic
>>>>
>>>>   - Provide an enhancement that includes the use of Apache Abdera to
>>>>> show the
>>>>> (optional) import of the Abdera bundles
>>>>>
>>>>>   I think the latest Abdera bundle is a bit broken, recall Dan mentioning
>>>> it - may've been fixed already. I would not be worried about Abdera in
>>>> OSGI at the moment.
>>>>
>>>> Actually see that you exclude wsdl4j which does indicate
>>>>
>>>> https://issues.apache.org/**jira/browse/CXF-3021<https://issues.apache.org/jira/browse/CXF-3021>
>>>> may've been fixed after all, re the deps on the server side
>>>>
>>>>   I look forward to hearing what all of you have to say ... the good,
>>>>> the bad,
>>>>> and the ugly :-)
>>>>>
>>>>>
>>>> Great stuff, thanks :-).
>>>> One possible enhancement to the sample, get plain WebClient consuming
>>>> the published service, using main() or from another bundle, whatever is
>>>> simpler
>>>>
>>>> Sergey
>>>>
>>>>   Regards,
>>>>> kl
>>>>>
>>>>>
>>>>
>>>
>>
>


Mime
View raw message