Return-Path: Delivered-To: apmail-incubator-cxf-dev-archive@locus.apache.org Received: (qmail 48140 invoked from network); 31 Jan 2007 02:01:12 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 31 Jan 2007 02:01:12 -0000 Received: (qmail 66048 invoked by uid 500); 31 Jan 2007 02:01:16 -0000 Delivered-To: apmail-incubator-cxf-dev-archive@incubator.apache.org Received: (qmail 66032 invoked by uid 500); 31 Jan 2007 02:01:16 -0000 Mailing-List: contact cxf-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cxf-dev@incubator.apache.org Delivered-To: mailing list cxf-dev@incubator.apache.org Received: (qmail 66023 invoked by uid 99); 31 Jan 2007 02:01:16 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 Jan 2007 18:01:15 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of ning.jiang@iona.com designates 65.223.216.181 as permitted sender) Received: from [65.223.216.181] (HELO amereast-smg1.iona.com) (65.223.216.181) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 Jan 2007 18:01:07 -0800 Received: from amer-ems1.IONAGLOBAL.COM ([10.65.6.25]) by amereast-smg1.iona.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id l0V20Vt0005787 for ; Tue, 30 Jan 2007 21:00:31 -0500 (EST) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C744DB.97A6CFDC" Subject: RE: Duplication in http2 module Date: Tue, 30 Jan 2007 21:00:33 -0500 Message-ID: <9A4696F35B459043970EE4A85A3173900254C4@amer-ems1.IONAGLOBAL.COM> X-MS-Has-Attach: X-MS-TNEF-Correlator: <9A4696F35B459043970EE4A85A3173900254C4@amer-ems1.IONAGLOBAL.COM> Thread-Topic: Duplication in http2 module Thread-Index: AcdEI1F2EzTyLMHITHGkw6DCIcsWTgAXH3QAABYUA7E= References: From: "Jiang, Ning" To: X-Virus-Checked: Checked by ClamAV on apache.org ------_=_NextPart_001_01C744DB.97A6CFDC Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Eoghan,=20 Thank you for your reply.=20 You suggested to put the http2 into another branch which will not effect = the main line. It is easy to do in ClearCase. But in svn, the branch is = just a static copy from the mainline. My question is if I put the = http2 into a branch, when the mainline transport code had be changed, = how can I sync these mainline's changes to the branch? =20 Now we are working on pull the common transport logic to the abstract = Destination and Conduit. So there is another option, we just move the = Jetty6 support code into the http module , then we can get ride of http2 = module. Cheers, Willem. -----Original Message----- From: Glynn, Eoghan [mailto:eoghan.glynn@iona.com] Sent: Tue 1/30/2007 23:03 To: cxf-dev@incubator.apache.org Subject: RE: Duplication in http2 module =20 >-----Original Message----- >From: Willem Jiang [mailto:ning.jiang@iona.com] >Sent: Tue 1/30/2007 4:00 AM >To: cxf-dev@incubator.apache.org >Subject: Duplication in http2 module >=20 >Hi Eoghan, > >The original thought to add the module http2 was we can replace the=20 >Jetty5 with new NIO support Jetty6, than we can replace http module=20 >with http. >Unfortunately when I finished the porting , I found the Jetty6 ssl stuff=20 >is still in a pre-alpha state. So I can move http2 to http. > >There are some my random thoughts about the http2 module. > >1. making the http transport decouple with the detail Http Transport=20 >engines. >In this way ,we can share the common http transport logical code with=20 >the different Http Transport engines. >So the CXF can support tomcat , Jetty5 , Jetty6 to provide the=20 >standalone web services. Yes, the whole point is that much of the logic in the servlet, Jetty5- and Jetty6-based HTTP transports is actually common to all three and hence is sharable via abstract base classes. I'd already raised a JIRA issue (http://issues.apache.org/jira/browse/CXF-343) to remove the duplication from the servlet transport. A similar unification approach could also be used for the Jetty5 and Jetty6-based HTTP transports. >2. If we want to support Jetty5 and Jetty6 in the same http transport=20 >module, how can we achieve it. Simply by encapsulating all usage of Jetty-version-specific APIs into pluggable components.=20 >In Jetty <=3D5, there was an API for pure Jetty HTTP requests and=20 >responses. The Jetty requests and responses where wrapped by the=20 >ServletHandler to provide the Servlet API for requests and responses. >In Jetty 6, all requests and responses are based on the Servlet APIs=20 >requests and responses. Sure the APIs are slightly different, but that doesn't prevent sharing all the code that actually is common.=20 Now the refactoring job is made easier by the fact that the logic common to *all* Destination implementations (i.e. both HTTP and non-HTTP) is now factored out into an AbstractDestination class. However, there's still plenty of duplicated and potentially sharable logic in the three HTTP Destination implementations, e.g. the logic concerned with managing HTTP headers, acting on policies and setting message properties. >May be we need different Jetty factory to create the detail=20 >JettyHTTPServerEngine and JettyHTTPDestionation which will consume the=20 >different version's Jetty API. > >These will take some time to finish and we also need to wait for the=20 >Jetty6 SSL engine stable release. Eoghan, I agree we can put the http2=20 >into the branch which will not take effect with the mail line. >But I have no ideal how to sync the branch with the main line's http=20 >transport common logical. Can someone help me out ? I don't understand what exactly you're asking for help with. Can you elaborate? Cheers, Eoghan > >Cheers, > >Willem. > >-----Original Message----- >From: Glynn, Eoghan [mailto:eoghan.glynn@iona.com] >Sent: Mon 1/29/2007 18:13 >To: cxf-dev@incubator.apache.org >Subject: Duplication in http2 module [was RE: svn commit: r497869 -=20 >/incubator/cxf/trunk/rt/transports/http2/src/main/java/org/apache/cxf/t ransport/http/JettyHTTPDestination.java] >=20 > >Willem, > >The problem with keeping these modules separate is that every change to >the main http module has to be duplicated manually to the http2 module >which is time-consuming and error-prone. > >So if the http2 stuff is still in a pre-alpha state, then it should be >taken off the mainline onto a branch until its ready to either share >common base classes with the core (Jetty5-based) http transport or >replace it outright. > >Cheers, >Eoghan > > > -----Original Message----- > > From: Willem Jiang [mailto:ning.jiang@iona.com] > > Sent: 19 January 2007 18:08 > > To: cxf-dev@incubator.apache.org > > Subject: Re: svn commit: r497869 - > > /incubator/cxf/trunk/rt/transports/http2/src/main/java/org/apa > > che/cxf/transport/http/JettyHTTPDestination.java > > > > Hi Eoghan, > > > > The duplication in http transports is because I don't want > > the development of the Jetty6 support takes effect to the > > current code base. > > > > Since Jetty6 's ssl support is in pre-alpha state , we don't > > want to replace Jetty5 with Jetty6 right now, I agree we can > > move the Jetty6 supporting from rt-tranpsorts-http2 to > > rt-transports-http to reduce the duplication, and get CXF > > http-transport more flexible. > > > > Cheers, > > > > Willem. > > > > Glynn, Eoghan wrote: > > > Hi Willem, > > > > > > Why all the duplication in rt-transports-http2? > > > > > > If we're going to keep the Jetty5-based rt-transports-http > > stuff, then > > > the two modules should be merged so as to avoid duplication, with > > > common code factored up into abstract base classes. > > > > > > I've raised an JIRA task for a similar refactoring of the > > > duplication-heavy servlet code: > > > http://issues.apache.org/jira/browse/CXF-343 > > > > > > Cheers, > > > Eoghan > > > > > > =20 > > >> > ------_=_NextPart_001_01C744DB.97A6CFDC--