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
