Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 94B9E17D95 for ; Tue, 9 Jun 2015 13:51:44 +0000 (UTC) Received: (qmail 59870 invoked by uid 500); 9 Jun 2015 13:51:36 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 59830 invoked by uid 500); 9 Jun 2015 13:51:36 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 59682 invoked by uid 99); 9 Jun 2015 13:51:35 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Jun 2015 13:51:35 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 39D56C095F for ; Tue, 9 Jun 2015 13:51:35 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.9 X-Spam-Level: X-Spam-Status: No, score=0.9 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, KAM_LIVE=1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 1JFt5d0XqRHe for ; Tue, 9 Jun 2015 13:51:22 +0000 (UTC) Received: from mail-lb0-f181.google.com (mail-lb0-f181.google.com [209.85.217.181]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id 6647C209DC for ; Tue, 9 Jun 2015 13:51:22 +0000 (UTC) Received: by lbcmx3 with SMTP id mx3so11113579lbc.1 for ; Tue, 09 Jun 2015 06:51:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=rsglV85dXIpTonHrUqjh+SLIVUUIcBRVpx/uaBlU1/Y=; b=I8JGg1fUQgTC5F3mXidfM8YvoIcPmI6BvAPBBlOFbTOjRwANKNGjT/F2iSxDqgUH03 1YNtMbeVtf4kP/CKz2bcbGYvBfJuJ/LNP2as6H+8KXijhMKOWT2sZb7wokOZJz39h9jb Qv3Sls3Hz1BaZTOeZWNor4v6hIx22Gue5qyJ2UIfM7cwS1CMNFhQ0rcJxNnOM12octe0 2ebwLER2SVvgIzYfEXdAMa3+2GegjSoBc2U3fh14BIqosLOWeo5vpedkm5oW5o3y2Jkb zqcwVFQJCTsJ0qN1ceQHhV4umlyQfM/2jIg4W7ASrO3UQ2P7/4nQbp0V4bN4LlhAl1nm tjHQ== MIME-Version: 1.0 X-Received: by 10.112.137.232 with SMTP id ql8mr22580474lbb.121.1433857881860; Tue, 09 Jun 2015 06:51:21 -0700 (PDT) Received: by 10.25.24.88 with HTTP; Tue, 9 Jun 2015 06:51:21 -0700 (PDT) In-Reply-To: <5576E861.9000808@gmail.com> References: <5576E861.9000808@gmail.com> Date: Tue, 9 Jun 2015 09:51:21 -0400 Message-ID: Subject: Re: Artemis - CXF From: Clebert Suconic To: "dev@activemq.apache.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable @Andy +1 The current Rest module would need to be revamped anyways. For instance it's using an older version of Rest-Easy, the new one has a newer API and some dependencies we didn't want (would need to update the version for that). @Daniel +1 Go ahead. Change whatever you need. On Tue, Jun 9, 2015 at 9:21 AM, Andy Taylor wrote: > The Rest modules were contributed HornetQ but to be honest have never rea= lly > been used in anger and there are no devs that have really any knowledge o= f > it, in fact you are probably the most knowledgeable already Daniel :). > Personally I see no issues with making it optional and changing what ever > API's you need to. > > Andy > > > On 09/06/15 14:13, Daniel Kulp wrote: >> >> >>> On Jun 9, 2015, at 8:48 AM, John D. Ament wrote= : >>> Is this a big priority to pick up? >> >> >> It would be my #1 priority, followed closely by OSGi support. In the >> whole =E2=80=9Cscratch the itch=E2=80=9D methodology, it=E2=80=99s what = I=E2=80=99m planning on working on. >> >> >>> Resteasy is already Apache V2 licensed, >>> so it doesn't cause a licensing conflict, though I agree being able to >>> leverage the rest api in containers that aren't deploying resteasy woul= d >>> be >>> beneficial. >> >> >> The problem is parts of the JAX-RS APIs end up having problems if there >> are multiple JAX-RS implementations available. It holds onto the vario= us >> things in statics based on the first implementation that is found. Thus= , >> those containers that provide JAX-RS based on CXF will have potential is= sues >> if Resteasy is brought in as well. Since Resteasy isn=E2=80=99t needed= , it might >> as well be made optional. If Artemis is to provide JMS 2.0 support f= or >> TomEE or ServiceMix, we need to get CXF support working. >> >>> The bootstrap code is resteasy specific, but it seems to be used mostly >>> during tests. it seems like some of these changes would put pretty big >>> overheads on how the rest api works. The current rest api just takes >>> whatever body came along and converts it to a message, and provides >>> messages back with the streams directly. >> >> >> I don=E2=80=99t think any of that would necessarily have to change, but = we=E2=80=99ll find >> out more as we refactor this. It=E2=80=99s still JAX-RS, it=E2=80=99s = just a matter of >> whether its CXF or RestEasy handling the mapping and unmarshalling and s= uch. >> >> Dan >> >> >> >>> >>> On Tue, Jun 9, 2015 at 5:25 AM Daniel Kulp wrote: >>> >>>> >>>> I=E2=80=99m 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 >>>> =E2=80=9Ctypes=E2=80=9D of code: >>>> >>>> 1) Pure JAX-RS things and the object models for the mappings to/from t= he >>>> 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 c= an >>>> be >>>> refactored into (1) >>>> >>>> 3) Pure RestEASY bootstrap things >>>> >>>> #2 is likely a =E2=80=9Cno brainer=E2=80=9D, 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 convolut= ed >>>> though. >>>> >>>> I=E2=80=99m not really considering dropping RestEASY entirely for CXF,= but I >>>> suppose that is a path to mention just for completeness. >>>> >>>> Thoughts? >>>> >>>> -- >>>> Daniel Kulp >>>> dkulp@apache.org - http://dankulp.com/blog >>>> Talend Community Coder - http://coders.talend.com >>>> >>>> >> > --=20 Clebert Suconic http://community.jboss.org/people/clebert.suconic@jboss.com http://clebertsuconic.blogspot.com