I’m going to start working on replacing RestEASY with CXF for the Artemis REST 
stuff but wanted to start a quick discussion first about how we should do this. 
  Looking through the code briefly, I think there are three “types” of code:

1) Pure JAX-RS things and the object models for the mappings to/from the 
rest<->JMS

2) Some RestEASY things that could be refactored into (1).  There are a bunch 
of client things (even using deprecated RestEASY classes) that can be 
refactored into (1)

3) Pure RestEASY bootstrap things

#2 is likely a “no brainer”, IMO.   So the question is what to do about 3?   
Should we split the current artemis-rest into three modules?   On that would 
contain all the non-implementation specific things and one specific for CXF and 
one for RestEASY?    Would that be 
artemis-rest-common/artemis-rest-cxf/artemis-rest-resteasy?

The other option is to try and put the CXF and RestEASY code both into 
artemis-rest and declare all the deps optional+provided and try to determine 
the impl that is available at runtime and do something smart.  (might be able 
to detect jersey as well).    That seems a bit convoluted though.

I’m not really considering dropping RestEASY entirely for CXF, but I suppose 
that is a path to mention just for completeness.

Thoughts?

-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to