Return-Path: Delivered-To: apmail-activemq-camel-dev-archive@locus.apache.org Received: (qmail 39628 invoked from network); 30 Aug 2008 15:18:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 30 Aug 2008 15:18:33 -0000 Received: (qmail 62381 invoked by uid 500); 30 Aug 2008 15:18:31 -0000 Delivered-To: apmail-activemq-camel-dev-archive@activemq.apache.org Received: (qmail 62359 invoked by uid 500); 30 Aug 2008 15:18:31 -0000 Mailing-List: contact camel-dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: camel-dev@activemq.apache.org Delivered-To: mailing list camel-dev@activemq.apache.org Received: (qmail 62348 invoked by uid 99); 30 Aug 2008 15:18:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 30 Aug 2008 08:18:31 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [195.69.129.178] (HELO exsmtp02.exserver.dk) (195.69.129.178) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 30 Aug 2008 15:17:32 +0000 Received: from EXVS04.exserver.dk ([10.10.10.84]) by exsmtp02.exserver.dk with Microsoft SMTPSVC(6.0.3790.1830); Sat, 30 Aug 2008 17:15:31 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: camel spring xml restructure Date: Sat, 30 Aug 2008 17:15:11 +0200 Message-ID: <4C1FB9C00D24A140906239533638C4D20536F751@EXVS04.exserver.dk> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: camel spring xml restructure Thread-Index: AckKszITszr4q8aeS0amC6+OH5awIw== From: "Claus Ibsen" To: X-OriginalArrivalTime: 30 Aug 2008 15:15:31.0205 (UTC) FILETIME=[3DFAF350:01C90AB3] X-Virus-Checked: Checked by ClamAV on apache.org Hi I would suggest to restructure the camel spring xml format a bit. The overall goal is: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - ease of use Current situations: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - there are too many different types of xml tags possible that confuses = end-users.=20 - most list types don't have a parent "holder" so they are mixed with = all the others IDE auto completion =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Using the IDE auto complete reveals many of these problems. For instance = in the root camelContext tag, you get datatypes, endpoint, spring = remoting, and other stuff and of course the routes etc is a bit of mixed = content. I would suggest to restructure the xml so you have some parent holder = tags to ease end-users. Motivation behind =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D I would love the spring xml to be more firm and structured before = letting loose my programming team on the spring xml instead of java DSL. = Having IDE completion with less mixed type of elements would help a lot. =20 Camel 1.5 =3D=3D=3D=3D=3D=3D=3D=3D=3D We are nearly there I think the daatatypes must be restructure so they = don't appear in the tag list from the root tag. Now you get articDS, = xmlBeans, string, hl7, xstram and others. I think they should be child = tags of a parent holder tag named dataTypes. This will help a lot. I thing this change can be done in camel 1.5 without breaking to much. = After all we have a bug in Camel so datatypes configured as camel tags = isn't useable from the marshal and unmarshal tags. So it doesn't work = (CAMEL-871). Camel 2.0 =3D=3D=3D=3D=3D=3D=3D=3D=3D For Camel 2.0 we can consider having parent holders for - endpoints - routes - the spring remote stuff - jmx And I also think the tag should have a parent holder that = better describes what it does. As now it's a bit of magic for new users = reading the spring xml. Package doesn't hint that is the route builder = and that is it a very important tag. Also we should consider making it = possible to configure as classnames or spring bean ids. So you = better can get the link from camel context to what java class is the = actual route builder.=20 We could consider having a restructure for this and have it something on = the way as: com.acme Or even better I think: And the spring ref variation is also very great: Med venlig hilsen Claus Ibsen ...................................... Silverbullet Skovsg=E5rdsv=E6nget 21 8362 H=F8rning Tlf. +45 2962 7576 Web: www.silverbullet.dk