<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7653570007295451610</id><updated>2012-01-26T04:33:23.729-03:30</updated><category term='Novelty Detection'/><category term='m2eclipse'/><category term='Apaceh ServiceMix'/><category term='Nexus'/><category term='Research'/><category term='FuseSource'/><category term='Apache Camel'/><category term='Camel in Action'/><category term='Articles'/><category term='Maven'/><category term='FUSE'/><category term='Open Source'/><title type='text'>Jon Anstey's Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-366595913862267492</id><published>2012-01-20T11:17:00.008-03:30</published><updated>2012-01-25T15:11:44.591-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='FuseSource'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>CamelOne 2012 CFP is Open</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://fusesource.com/apache-camel-conference-2012"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 250px; height: 250px;" src="http://3.bp.blogspot.com/-ayHcORFGudM/TxmB3Pk_nYI/AAAAAAAAAI8/1pEYOJrMwUk/s320/250x250_tile_new.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5699729589488557442" /&gt;&lt;/a&gt;&lt;br /&gt;Last year's CamelOne event went so well that &lt;a href="http://fusesource.com"&gt;FuseSource&lt;/a&gt; is doing another one this year. Awesome news because &lt;a href="http://fusesource.com/camelone2011"&gt;CamelOne 2011&lt;/a&gt; was a blast! :) IMO smaller, more focused conferences like CamelOne are more beneficial than the big "all-inclusive" conferences. It is still very early in the planning so speaking slots are still available. Registration details are on the &lt;a href="http://fusesource.com/apache-camel-conference-2012"&gt;CamelOne 2012&lt;/a&gt; site.&lt;br /&gt;&lt;br /&gt;Cheers to another win for the &lt;a href="http://camel.apache.org/"&gt;Apache Camel&lt;/a&gt; community!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-366595913862267492?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/366595913862267492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=366595913862267492' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/366595913862267492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/366595913862267492'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2012/01/camelone-2012-cfp-is-open.html' title='CamelOne 2012 CFP is Open'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ayHcORFGudM/TxmB3Pk_nYI/AAAAAAAAAI8/1pEYOJrMwUk/s72-c/250x250_tile_new.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-4978446714551066259</id><published>2011-11-14T15:45:00.004-03:30</published><updated>2011-11-14T16:01:19.013-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='FuseSource'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Apaceh ServiceMix'/><title type='text'>ApacheCon NA 2011 - Geeky Paradise!</title><content type='html'>&lt;div&gt;&lt;div&gt;ApacheCon NA this year was in beautiful Vancouver, BC. This conference, besides being my first ApacheCon, was really different from my usual trips since it was in my home country :) No customs and crazy exchange rates FTW! I think there were over 400 attendees so it was a pretty good turnout IMO. Lots of geeky chats, hacking and beverages made for a great time. The sessions were great too of course. I wanted to blog about my trip not because anyone finds my travels interesting :) but because the topics are really cool and are probably not widely known.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;Fuse Fabric + Apache ZooKeeper&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I want to start off with my colleague &lt;a href="http://gnodet.blogspot.com/"&gt;Guillaume Nodet&lt;/a&gt; who spoke about how &lt;a href="http://fabric.fusesource.org/"&gt;Fuse Fabric&lt;/a&gt; is created on top of &lt;a href="http://zookeeper.apache.org/"&gt;Apache ZooKeeper&lt;/a&gt; and allows you to provision ActiveMQ, CXF, and Camel applications into a cloud of ServiceMix or Karaf instances. Very cool presentation overall but I was really quite excited by the prospect of upgrading a whole cluster of ServiceMix or Karaf instances to a new version of Camel. Right now, to upgrade at runtime you have to either update every bundle of Camel separately or uninstall + reinstall the new version (not very pretty).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fabric also has an super fast implementation of Distributed OSGi, which allows you to invoke OSGi services hosted in remote nodes. When on the same machine it can run at 25,000 MPS on pretty minimal hardware!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This wasn't in the talk (cause it is closed source), but I also heard that &lt;a href="http://fusesource.com/products/fuse-ide/"&gt;Fuse IDE&lt;/a&gt; has a nice GUI for interacting with Fabric now too :) &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;Apache TomEE&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I heard a bit about the &lt;a href="http://openejb.apache.org/apache-tomee.html"&gt;TomEE&lt;/a&gt; project recently and thought it would be good to hear from the main guy &lt;a href="http://blog.dblevins.com/"&gt;David Blevins&lt;/a&gt; what it is all about. In short, at the Apache TomEE project they are creating a Java EE 6 certified server based on Apache Tomcat. They are doing this because they think that the EE spec is actually not bloated as people say (yeah, its just an API after-all) and that the bloatedness comes from the implementation of various vendors. So, they wanted to make a lean mean EE server. The other main point about TomEE is that it is built on top of Apache Tomcat, which is the most widely used web app server.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On the bit about it being lean, apparently to run the entire EE TCK (that is the certification tests), TomEE only needed the default heap size of 64MB... now, I wonder what the other EE app servers required?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;Apache ACE&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blog.nanthrax.net/"&gt;Jean-Baptiste Onofre&lt;/a&gt; gave a great demo of &lt;a href="http://incubator.apache.org/ace/"&gt;Apache ACE&lt;/a&gt; in action. Essentially ACE allows you to provision your OSGi packaged apps into Karaf or ServiceMix instances. I thought it has a pretty slick web interface where you can centrally manage what Karaf nodes have what bundles, etc. Very cool stuff!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;Apache ServiceMix + Camel&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The &lt;a href="http://servicemix.apache.org/"&gt;ServiceMix project&lt;/a&gt; came up numerous times in presentations and offline talks. In short ServiceMix 5 will bring large changes to ServiceMix. Not as large as the gap from version 3 to 4 (where we switched from JBI to OSGi) but still big changes. Some include:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Removal of JBI layer&lt;/div&gt;&lt;div&gt;- Instead of the NMR as the central solution for routing, use Camel &lt;/div&gt;&lt;div&gt;- Move some NMR features to Camel (audit, events, tracing, etc...)&lt;/div&gt;&lt;div&gt;- Add CXF console shell&lt;/div&gt;&lt;div&gt;- and the many many new features coming with Karaf 3...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Version 5 is especially exciting for me because of the implications for Camel. Right now, Camel hasn't changed its architecture much lately IMO; it just keeps getting faster, more stable, and with an ever growing number of components - the best changes for a widely used framework. There haven't been as many improvements to Camel operating at the container level though. We are kinda limited by what the Camel project guidelines are; Camel is a framework, not an ESB. So ServiceMix has no such restriction (it is an ESB!) so version 5 has the major goal of being the best home for your Camel applications and as such will have many improvements for running Camel. Nothing is 100% decided yet so if you have ideas, let the ServiceMix community know before version 5 development starts :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK, so there were many more talks as well but these were the ones I wanted to talk about :) Overall ApacheCon was one of the coolest conferences I've been too. Very happy to have hung out with some old friends and met some "IRC friends" that I've been wanting to meet for years. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oh yeah, and the next ApacheCon will be November 2012 in Germany... sounds fun already!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-4978446714551066259?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/4978446714551066259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=4978446714551066259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4978446714551066259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4978446714551066259'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2011/11/apachecon-na-2011-geeky-paradise.html' title='ApacheCon NA 2011 - Geeky Paradise!'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-4476930724077746653</id><published>2011-09-29T13:19:00.002-02:30</published><updated>2011-09-29T15:25:35.602-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='FuseSource'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Apaceh ServiceMix'/><title type='text'>Free open source talks this October</title><content type='html'>&lt;div&gt;There are a few things happening in October that'd I'd like to draw your attention to. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;&lt;b&gt;October 11th&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We're cohosting a Fuse community day with &lt;a href="http://skillsmatter.com/"&gt;Skills Matter&lt;/a&gt; in London, England. &lt;a href="http://rajdavies.blogspot.com/"&gt;Rob&lt;/a&gt;, &lt;a href="http://macstrac.blogspot.com/"&gt;James&lt;/a&gt;, and &lt;a href="http://davsclaus.blogspot.com/"&gt;Claus&lt;/a&gt; will be giving several talks on Apache Camel, ServiceMix, Karaf, and ActiveMQ. They'll also talk about some of the products that have come out at FuseSource this year like Fuse IDE and Fuse Fabric. As usual with Fuse community days, several customers will be joining to tell how they use these open source projects in real world applications, which IMHO is usually the most interesting :) &lt;a href="ttp://www.logica.com"&gt;Logica&lt;/a&gt; and &lt;a href="http://www.apex-networks.com/"&gt;Apex Networks&lt;/a&gt; will be talking at this event.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More details about this are here: &lt;a href="http://skillsmatter.com/event/soa-rest/fusesource-community-day-2011/js-2735"&gt;http://skillsmatter.com/event/soa-rest/fusesource-community-day-2011/js-2735&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;&lt;b&gt;October 13th&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This Fuse community day is in Paris, France. Much the same talks as at the London event with &lt;a href="http://www.atosworldline.com/"&gt;Atos Worldline&lt;/a&gt; and &lt;a href="http://www.capgemini.com/"&gt;Capgemini&lt;/a&gt; joining to share their expereince using Apache and FuseSource open source software in real world applications.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More details here: &lt;a href="http://tiny.cc/noqh1"&gt;http://tiny.cc/noqh1&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;&lt;b&gt;October 18th&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Last but not least ;) I'll be presenting a webinar on how to get started with Apache ServiceMix. In this webinar I'll take a tour of the many features shipped with ServiceMix. I'll stick with the getting started theme here too - it won't be a deep dive into anything so hopefully it won't go over anyone's heads :) For most of the talk though I'll head to the IDE and see how to build out a ServiceMix application that takes advantage of the main compoenents like: integration flows with Apache Camel, web services with Apache CXF, and reliable messaging with Apache ActiveMQ. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you are interested, you can register here: &lt;a href="https://fusesource.webex.com/fusesource/onstage/g.php?t=a&amp;amp;d=716654083&amp;amp;Sourceid=web"&gt;https://fusesource.webex.com/fusesource/onstage/g.php?t=a&amp;amp;d=716654083&amp;amp;Sourceid=web&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-4476930724077746653?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/4476930724077746653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=4476930724077746653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4476930724077746653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4476930724077746653'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2011/09/free-open-source-talks-this-october.html' title='Free open source talks this October'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-2826375284037213277</id><published>2011-05-19T10:33:00.004-02:30</published><updated>2011-05-19T10:49:01.953-02:30</updated><title type='text'>Open Source Integration with Apache Camel and How Fuse IDE Can Help</title><content type='html'>I've been meaning for a while to update an &lt;a href="http://janstey.blogspot.com/2009/03/apache-camel-integration-nirvana.html"&gt;old but popular article&lt;/a&gt; I wrote about using Apache Camel. People are still reading it but the Camel version is 1.6 IIRC - we're current thinking of releasing 2.8 so Camel 1.6 is quite dated.&lt;div&gt;&lt;br /&gt;I also wanted to load up that example in some cool &lt;a href="http://fusesource.com/products/fuse-ide-camel/"&gt;Camel GUI tooling&lt;/a&gt; that &lt;a href="http://macstrac.blogspot.com/"&gt;James&lt;/a&gt; created at FuseSource. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/-0EdYpQTJZPM/TdUXOBssIdI/AAAAAAAAAIc/v7mVjYsWRb4/s320/figure4.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 219px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5608414440701305298" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The new article is &lt;a href="http://java.dzone.com/articles/open-source-integration-apache"&gt;Open Source Integration with Apache Camel and How Fuse IDE Can Help&lt;/a&gt;. Check it out and let me know what you think!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-2826375284037213277?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/2826375284037213277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=2826375284037213277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2826375284037213277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2826375284037213277'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2011/05/open-source-integration-with-apache.html' title='Open Source Integration with Apache Camel and How Fuse IDE Can Help'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-0EdYpQTJZPM/TdUXOBssIdI/AAAAAAAAAIc/v7mVjYsWRb4/s72-c/figure4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-3995821050525223011</id><published>2011-03-31T10:08:00.012-02:30</published><updated>2011-04-01T14:00:17.453-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='FuseSource'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Speaking at CamelOne and Security BSides</title><content type='html'>I'm heading out to do a couple of talks on Apache Camel in the coming months and figured I should get the word out! First off, is CamelOne:&lt;br /&gt;&lt;h3&gt;CamelOne - May 24-26&lt;/h3&gt;&lt;br /&gt;&lt;a href="http://fusesource.com/camelone2011" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 243px; height: 150px;" src="http://2.bp.blogspot.com/-R__dwcSgAzA/TZR97tkdtnI/AAAAAAAAAIU/2zpNc3g5XOk/s320/1327337101-5%2B%25281%2529.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5590231502271919730" /&gt;&lt;/a&gt;So I'm really excited about &lt;a href="http://fusesource.com/camelone2011/"&gt;CamelOne&lt;/a&gt;. It is a conference put off by &lt;a href="http://fusesource.com/"&gt;FuseSource&lt;/a&gt; for users of Apache open source integration and messaging projects. So there will be lots of talks on Apache Camel, ServiceMix, ActiveMQ and CXF by the folks who created those projects and also users who push the limits of what the software can do. Great stuff.&lt;br /&gt;&lt;br /&gt;Gregor Hohpe, author of &lt;a href="http://www.eaipatterns.com/"&gt;Enterprise Integration Patterns&lt;/a&gt;, will also be giving a keynote about the Past, Present and Future of Enterprise Integration Patterns.&lt;br /&gt;&lt;br /&gt;Given most of the time I see folks running Camel applications on top of ServiceMix or Karaf, I will be giving a talk entitled:&lt;b&gt; &lt;a href="http://fusesource.com/camelone2011/speakers/"&gt;Getting the most out of your ServiceMix deployment of Camel.&lt;/a&gt;&lt;/b&gt; A brief description of the talk:&lt;br /&gt;&lt;blockquote&gt;Apache Camel was designed to be deployable nearly anywhere; you have your choice of standalone in a JVM, Tomcat, J2EE, ActiveMQ, Spring, OSGi, and more. One particularly suitable deployment option is an OSGi container like Apache ServiceMix. In this session, Jon will show you how to take advantage of the many features that ServiceMix brings to the table and also how to best design your Camel applications to get the most out of OSGi.&lt;/blockquote&gt;I urge anyone who uses Camel, ServiceMix, ActiveMQ or CXF and can afford the trip to &lt;a href="http://camelone.eventbrite.com/"&gt;attend CamelOne&lt;/a&gt;. It's going to be a blast and it would really be great to chat with fellow community members about these projects.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Security BSides - June 10&lt;/h3&gt;&lt;br /&gt;&lt;a href="http://www.securitybsides.com/w/page/35302219/BSidesStJohns" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 243px; height: 150px;" src="http://2.bp.blogspot.com/-AdCYV_xqXXo/TZR9gY1K1AI/AAAAAAAAAIM/zI8wb8CsJUc/s320/BSidesLogo.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5590231032848372738" /&gt;&lt;/a&gt;&lt;a href="http://www.securitybsides.com/w/page/35302219/BSidesStJohns"&gt;Security BSides&lt;/a&gt; is an "unconference" style gathering here in St. John's. A brief description from the official site:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;An eclectic gathering of infosec people to hear awesome talks and have outrageously fun discussions! Our mission is to provide an inclusive, open environment for the sharing and collaborative discourse on topics that most interest you.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I'm going be giving a talk on &lt;b&gt;How to Secure your Apache Camel Deployment&lt;/b&gt;. A brief abstract of the talk:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Apache Camel is an open source Java framework that focuses on making integration easier and more accessible to developers. It does this by providing: concrete implementations of all the widely used Enterprise Integration Patterns (EIPs), connectivity to a great variety of transports and APIs, and an easy to use Domain Specific Language (DSL) to wire EIPs and transports together to form routes.&lt;br /&gt;&lt;br /&gt;Interacting with secure services and also hosting secure services is essential in most integration projects. In this session, Jon will go over the four categories of security features in Camel, which include securing: routes, message payload, endpoints, and configuration. &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;If you are in the area, please drop by - also, &lt;a href="http://bsidesstjohns.eventbrite.com/"&gt;registration is free&lt;/a&gt; :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-3995821050525223011?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/3995821050525223011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=3995821050525223011' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/3995821050525223011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/3995821050525223011'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2011/03/speaking-at-camelone-and-security.html' title='Speaking at CamelOne and Security BSides'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-R__dwcSgAzA/TZR97tkdtnI/AAAAAAAAAIU/2zpNc3g5XOk/s72-c/1327337101-5%2B%25281%2529.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-4806606425887576335</id><published>2011-03-21T09:40:00.002-02:30</published><updated>2011-03-21T09:47:57.232-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Camel in Action'/><title type='text'>Team Programming Competition Results</title><content type='html'>On Friday I sponsored a team programming competition at &lt;a href="http://www.mun.ca"&gt;Memorial University&lt;/a&gt; here in St. John's. Like the &lt;a href="http://janstey.blogspot.com/2011/02/programming-competitions-on-rock.html"&gt;previous competition&lt;/a&gt; this year, I presented a signed copy of &lt;a href="http://www.manning.com/ibsen/"&gt;Camel in Action&lt;/a&gt; to each of the 1st place winners. Congratulations to Melissa Reid and Ken Collingwood for winning!&lt;br /&gt;&lt;br /&gt;Full results of the competition were posted on &lt;a href="http://icodebythesea.blogspot.com/2011/03/memorial-university-cs-games-team.html"&gt;Jamie's blog&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-4806606425887576335?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/4806606425887576335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=4806606425887576335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4806606425887576335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4806606425887576335'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2011/03/team-programming-competition-results.html' title='Team Programming Competition Results'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-1311938458078171806</id><published>2011-02-28T11:12:00.004-03:30</published><updated>2011-02-28T11:36:26.920-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Camel in Action'/><category scheme='http://www.blogger.com/atom/ns#' term='FUSE'/><title type='text'>Programming Competitions on the Rock</title><content type='html'>This past Friday I sponsored a programming competition at &lt;a href="http://www.mun.ca"&gt;Memorial University&lt;/a&gt; here in St. John's. Was a great turn out - much more than I can remember back in the day when I competed in these things... Jamie posted the &lt;a href="http://icodebythesea.blogspot.com/2011/02/memorial-university-cs-games-singles.html"&gt;full results&lt;/a&gt; since he helped organize the event. &lt;br /&gt;&lt;br /&gt;On behalf of &lt;a href="http://fusesource.com"&gt;FuseSource&lt;/a&gt; I presented a prize to the 1st place winner, Robert Robere. Robert, of course, won a signed copy of &lt;a href="http://www.manning.com/ibsen/"&gt;Camel in Action&lt;/a&gt; - what else? :)&lt;br /&gt;&lt;br /&gt;Looking forward to the next one in 3 weeks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-1311938458078171806?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/1311938458078171806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=1311938458078171806' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/1311938458078171806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/1311938458078171806'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2011/02/programming-competitions-on-rock.html' title='Programming Competitions on the Rock'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-4039876874166645278</id><published>2011-01-14T10:43:00.004-03:30</published><updated>2011-01-14T11:56:12.490-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Novelty Detection'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>Seminar on Time Series Novelty Detection</title><content type='html'>Just got this email in my inbox, feel free to stop by and see my talk. There is no mention of middleware or opensource I promise :)&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;GRADUATE STUDENT SEMINAR&lt;br /&gt;&lt;br /&gt;JONATHAN S. ANSTEY&lt;br /&gt;WILL GIVE A TALK ON&lt;br /&gt;&lt;br /&gt;“TIME SERIES NOVELTY DETECTION WITH APPLICATION TO PRODUCTION SENSOR SYSTEMS”&lt;br /&gt; &lt;br /&gt;WEDNESDAY, JANUARY 19, 2010&lt;br /&gt;9:00 A.M. &lt;br /&gt;EN-4002&lt;br /&gt;&lt;br /&gt;MR. ANSTEY IS A GRADUATE STUDENT&lt;br /&gt;IN THE M.ENG. PROGRAM&lt;br /&gt;UNDER THE SUPERVISION OF DR. D. PETERS&lt;br /&gt;&lt;br /&gt;ALL INTERESTED ARE WELCOME&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I'm not sure either why this is all in CAPS :) For those interested, the full abstract of the work is:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Modern fiber manufacturing plants rely heavily on the use of automation. Automated facilities use sensors to measure fiber state and react to data patterns, which correspond to physical events. Many patterns can be predefined either by careful analysis or by domain experts. Instances of these patterns can then be discovered through techniques such as pattern recognition. However, pattern recognition will fail to detect events that have not been predefined, potentially causing expensive production errors. A solution to this dilemma, novelty detection, allows for the identification of interesting data patterns embedded in otherwise normal data. In this thesis we investigate some of the aspects of implementing novelty detection in a fiber manufacturing system. Specifically, we empirically evaluate the effectiveness of currently available feature extraction and novelty detection techniques on data from a real fiber manufacturing system.&lt;br /&gt;&lt;br /&gt;Our results show that piecewise linear approximation (PLA) methods produce the highest quality features for fiber property datasets. Motivated by this fact, we introduced a new PLA algorithm called improved bottom up segmentation (IBUS). This new algorithm produced the highest quality features and considerably more data reduction than all currently available feature extraction techniques for our application.&lt;br /&gt;&lt;br /&gt;Further empirical results from several leading time series novelty detection techniques revealed two conclusions. A simple Euclidean distance based technique is the best overall when no feature extraction is used. However, when feature extraction is used the Tarzan technique performs best.&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-4039876874166645278?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/4039876874166645278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=4039876874166645278' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4039876874166645278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4039876874166645278'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2011/01/seminar-on-time-series-novelty.html' title='Seminar on Time Series Novelty Detection'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-4760881172246798864</id><published>2010-12-09T11:44:00.004-03:30</published><updated>2010-12-09T11:53:40.599-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Camel in Action'/><title type='text'>Camel in Action is complete!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.manning.com/ibsen/"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 165px; height: 200px;" src="http://2.bp.blogspot.com/_JZEz3zQ95mA/TQDy1zSUn-I/AAAAAAAAAHI/qnElOBOavVo/s200/cia-small.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5548701747034496994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;So we did it. &lt;a href="http://manning.com/CamelinAction"&gt;Camel in Action&lt;/a&gt; is headed to the press! Time for beers and all that, but first a little blog post :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I had to actually search through my mail to find out when I started on this project. Turns out I got involved mid September 2009 which puts the time in about 15 months. &lt;a href="http://davsclaus.blogspot.com/"&gt;Claus&lt;/a&gt; started before that so his month count is higher - poor guy ;) So it was a pretty big chunk of time for both of us but not too bad for a technical book I'm told. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We set out to create something that the growing &lt;a href="http://camel.apache.org/"&gt;Apache Camel&lt;/a&gt; community needed badly - a great reference for newbies and experts alike. I'd like to think we accomplished that goal. Seems the early access readers agree too.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks to all who were involved in producing this book. We had tons of very helpful reviewers, &lt;a href="http://www.manning.com/"&gt;Manning&lt;/a&gt; staff, and even multiple foreword writers - there were a lot of people involved in creating this other than &lt;a href="http://davsclaus.blogspot.com/"&gt;Claus&lt;/a&gt; or myself. Of course, we officially thanked the folks involved in the acknowledgements section so be sure to look there if you helped out :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have yet to see anything other than a PDF copy of the book (which should be released tomorrow) so I'm really looking forward to when the print copies start showing up in 10 days! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, feel free to use the "camel50" code for 50% off when ordering through &lt;a href="http://manning.com/CamelinAction"&gt;http://manning.com/CamelinAction&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now its time to celebrate.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-4760881172246798864?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/4760881172246798864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=4760881172246798864' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4760881172246798864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4760881172246798864'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2010/12/camel-in-action-is-complete.html' title='Camel in Action is complete!'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JZEz3zQ95mA/TQDy1zSUn-I/AAAAAAAAAHI/qnElOBOavVo/s72-c/cia-small.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-87611411719327090</id><published>2010-08-27T09:28:00.003-02:30</published><updated>2010-08-27T09:44:25.016-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='FUSE'/><title type='text'>Apache Camel Webinars at FuseSource</title><content type='html'>As &lt;a href="http://davsclaus.blogspot.com/2010/08/camel-webinars.html"&gt;Claus just posted&lt;/a&gt;, we are doing two webinars next month on &lt;a href="http://camel.apache.org"&gt;Apache Camel&lt;/a&gt; at &lt;a href="http://fusesource.com"&gt;FuseSource&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;September 8th&lt;/b&gt; - Claus will give an introduction to Apache Camel including: core concepts, EIPs, components, and the community. &lt;/li&gt;&lt;li&gt;&lt;b&gt;September 16th&lt;/b&gt; - I will go over deployment options for Camel including: embedded Java, Spring, ActiveMQ, ServiceMix (OSGi) and web app. This will include a live demonstration of deploying a Camel application in ServiceMix.&lt;/li&gt;&lt;/ul&gt;These webinars are interactive so you can ask questions to us directly. &lt;a href="http://fusesource.com/resources/video-archived-webinars/"&gt;Register here&lt;/a&gt; and drop in, it will be an interesting show!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-87611411719327090?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/87611411719327090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=87611411719327090' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/87611411719327090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/87611411719327090'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2010/08/apache-camel-webinars-at-fusesource.html' title='Apache Camel Webinars at FuseSource'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-979572120125143728</id><published>2010-07-12T16:32:00.000-02:30</published><updated>2010-07-12T16:45:15.591-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='FUSE'/><title type='text'>Quick load testing with the Camel Dataset component</title><content type='html'>A pretty common thing I have to do is investigate issues that only occur when load is put on a system. Instead of hand coding message producers to pummel a Camel route or message broker, I've been using the Camel dataset component. I'm not sure many are aware of it but its an incredibly useful and easy to use tool.&lt;br /&gt;&lt;br /&gt;For demonstration's sake let say we want to send 10000 messages in a tight loop to a ActiveMQ broker started on the local machine. First we download ActiveMQ&lt;br /&gt;&lt;br /&gt;&lt;a href="http://activemq.apache.org/activemq-532-release.html"&gt;http://activemq.apache.org/activemq-532-release.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and then start up ActiveMQ&lt;br /&gt;&lt;br /&gt;bin/activemq&lt;br /&gt;&lt;br /&gt;Now we set up a simple Camel app that uses the Dataset component in a Spring XML file (source available &lt;a href="http://people.apache.org/~janstey/blog_stuff/camel_dataset/dataset-test.zip"&gt;here&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;  #1&lt;br /&gt;  &amp;lt;bean id=&amp;quot;myDataSet&amp;quot; class=&amp;quot;org.apache.camel.component.dataset.SimpleDataSet&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;size&amp;quot; value=&amp;quot;10000&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;/bean&amp;gt;&lt;br /&gt;&lt;br /&gt;  #2&lt;br /&gt;  &amp;lt;bean id=&amp;quot;activemq&amp;quot; class=&amp;quot;org.apache.activemq.camel.component.ActiveMQComponent&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;property name=&amp;quot;brokerURL&amp;quot; value=&amp;quot;tcp://localhost:61616&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;/bean&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;camelContext xmlns=&amp;quot;http://camel.apache.org/schema/spring&amp;quot;&amp;gt;&lt;br /&gt;    #3&lt;br /&gt;    &amp;lt;route&amp;gt;&lt;br /&gt;      &amp;lt;from uri=&amp;quot;dataset:myDataSet?produceDelay=-1&amp;quot;/&amp;gt;&lt;br /&gt;      &amp;lt;to uri=&amp;quot;activemq:myQueue&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;/route&amp;gt;&lt;br /&gt;&lt;br /&gt;    #4&lt;br /&gt;    &amp;lt;route&amp;gt;&lt;br /&gt;      &amp;lt;from uri=&amp;quot;activemq:myQueue&amp;quot;/&amp;gt;&lt;br /&gt;      &amp;lt;to uri=&amp;quot;file:/tmp&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;/route&amp;gt;&lt;br /&gt;  &amp;lt;/camelContext&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So we first create a SimpleDataSet #1 with a size of 10000. This means that 10000 messages will be sent when we use this is the route. We also need to configure the connection to the ActiveMQ broker #2 that we will be pummeling. Finally, we have a Camel route that sends 10000 messages to a queue named myQueue #3. We also have another route that consumes from the same queue and dumps the message contents to the /tmp directory. You can run this now by issuing mvn camel:run on the command line. You will see output something like:&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;[pache.camel.spring.Main.main()] DefaultCamelContext            INFO  Apache Camel 2.3.0 (CamelContext: camelContext) started in 1155 millis&lt;br /&gt;[et://myDataSet?produceDelay=-1] et://myDataSet?produceDelay=-1 INFO  Sent: 2000 messages so far. Last group took: 2120 millis which is: 943.396 messages per second. average: 943.396&lt;br /&gt;[et://myDataSet?produceDelay=-1] et://myDataSet?produceDelay=-1 INFO  Sent: 4000 messages so far. Last group took: 1867 millis which is: 1,071.237 messages per second. average: 1,003.261&lt;br /&gt;[et://myDataSet?produceDelay=-1] et://myDataSet?produceDelay=-1 INFO  Sent: 6000 messages so far. Last group took: 2014 millis which is: 993.049 messages per second. average: 999.833&lt;br /&gt;[et://myDataSet?produceDelay=-1] et://myDataSet?produceDelay=-1 INFO  Sent: 8000 messages so far. Last group took: 2399 millis which is: 833.681 messages per second. average: 952.381&lt;br /&gt;[et://myDataSet?produceDelay=-1] et://myDataSet?produceDelay=-1 INFO  Sent: 10000 messages so far. Last group took: 1741 millis which is: 1,148.765 messages per second. average: 986.096&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So this allowed us to quickly (1) set up a producer which sent 10000 messages, (2) consume those messages from the same queue and (3) report what the throughput was during the test.&lt;br /&gt;&lt;br /&gt;The source for this example is available at &lt;a href="http://people.apache.org/~janstey/blog_stuff/camel_dataset/dataset-test.zip"&gt;http://people.apache.org/~janstey/blog_stuff/camel_dataset/dataset-test.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For more information on the dataset component, see the official Apache Camel documentation at &lt;a href="http://camel.apache.org/dataset.html"&gt;http://camel.apache.org/dataset.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-979572120125143728?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/979572120125143728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=979572120125143728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/979572120125143728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/979572120125143728'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2010/07/quick-load-testing-with-camel-dataset.html' title='Quick load testing with the Camel Dataset component'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-5047449277972468872</id><published>2010-04-01T16:11:00.000-02:30</published><updated>2010-04-01T16:27:50.981-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Camel in Action'/><title type='text'>Understanding Camel components</title><content type='html'>We've updated &lt;a href="http://www.manning.com/ibsen"&gt;Camel in Action&lt;/a&gt; today with 3 new chapters. That brings the total to 11 out of 13 chapters, which means we are getting close :)&lt;br /&gt;&lt;br /&gt;One of the chapters is all about Camel components. The list of components in Camel has really exploded over the last few years. Camel ships with 76 components right now and there are dozens more available separately from other community sites. I mean, when presented with most integration scenarios we can easily say&lt;br /&gt;&lt;br /&gt;"There's a Camel component for that."&lt;br /&gt;&lt;br /&gt;So out of these components, which ones did we choose to cover? To make the content fit into one chapter we covered 11 components in 7 sections:&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th style="text-align: left;"&gt;Section&lt;/th&gt;&lt;th style="text-align: left;"&gt;Components covered&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Working with files&lt;/td&gt;&lt;td&gt;file, ftp&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Asynchronous Messaging using the JMS component&lt;/td&gt;&lt;td&gt;jms&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Web Services and the CXF Component&lt;/td&gt;&lt;td&gt;cxf&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Networking with the MINA component&lt;/td&gt;&lt;td&gt;mina&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Working with databases&lt;/td&gt;&lt;td&gt;jdbc, jpa&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;In-memory asynchronous messaging&lt;/td&gt;&lt;td&gt;seda, vm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Automating tasks&lt;/td&gt;&lt;td&gt;timer, quartz&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Why these components? Well, we felt that these were the most widely used and thus essential knowledge for any Camel user. Of course, other components are covered elsewhere in the book but not in as much detail as these.&lt;br /&gt;&lt;br /&gt;Feel free to check out chapter 7 &lt;span style="font-style:italic;"&gt;Understanding components&lt;/span&gt; in the &lt;a href="http://www.manning.com/ibsen"&gt;latest book update&lt;/a&gt; or &lt;a href="http://code.google.com/p/camelinaction/source/browse/#svn/trunk/chapter7"&gt;browse the chapters examples&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-5047449277972468872?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/5047449277972468872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=5047449277972468872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/5047449277972468872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/5047449277972468872'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2010/04/understanding-camel-components.html' title='Understanding Camel components'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-726140851021503902</id><published>2009-11-24T16:20:00.000-03:30</published><updated>2009-11-24T16:56:48.342-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Camel in Action'/><title type='text'>New Camel in Action Chapters</title><content type='html'>Today we posted 2 new chapters for the &lt;a href="http://www.manning.com/ibsen"&gt;Camel in Action&lt;/a&gt; MEAP. &lt;a href="http://davsclaus.blogspot.com/"&gt;Claus&lt;/a&gt; will most likely fill you in about the chapter on bean integration soon. Let me give you a little info about chapter 2 now though. Chapter 2 is basically all about routing - a pretty fundamental topic for Camel! I cover route creation in Java and Spring, as well as several EIPs. Since it is such an early chapter its pretty hand-holding throughout - you don't need to know Spring or EIPs beforehand, for instance. &lt;br /&gt;&lt;br /&gt;I also introduce a new running example to the book: Rider Auto Parts. You may remember them from the DZone article &lt;a href="http://architects.dzone.com/articles/apache-camel-integration"&gt;Integration Nirvana&lt;/a&gt; I wrote earlier this year.&lt;br /&gt;&lt;br /&gt;We actually started using a Google Code project for hosting the books source code so you can see the code for chapter 2 here:&lt;br /&gt;&lt;a href="http://code.google.com/p/camelinaction/source/checkout"&gt;http://code.google.com/p/camelinaction/source/checkout&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the coming months the source from other chapters will also be added. As always, we love feedback in the &lt;a href="http://www.manning-sandbox.com/forum.jspa?forumID=601"&gt;book's forum&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-726140851021503902?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/726140851021503902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=726140851021503902' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/726140851021503902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/726140851021503902'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2009/11/new-camel-in-action-chapters.html' title='New Camel in Action Chapters'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-4749598916074005788</id><published>2009-10-22T16:33:00.000-02:30</published><updated>2009-10-22T16:44:06.960-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Camel in Action'/><title type='text'>Camel in Action</title><content type='html'>As &lt;a href="http://davsclaus.blogspot.com/2009/10/announcing-camel-in-action.html"&gt;Claus just announced&lt;/a&gt;, we are writing a book with Hadrian on &lt;a href="http://camel.apache.org/"&gt;Apache Camel&lt;/a&gt; entitled "Camel in Action".&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.manning.com/ibsen"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 187px;" src="http://www.manning.com/ibsen/ibsen_cover150.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;There has been a real need for such a book for a long time. We're hoping to fill the gap in the current documentation thats out there and provide a go to resource for new and experienced users alike.&lt;br /&gt;&lt;br /&gt;A neat thing about writing at &lt;a href="http://www.manning.com"&gt;Manning&lt;/a&gt; is that readers can see the book as its being written (in all its rough glory :)) and provide feedback directly to us. Also its early enough in the writing process so that you could have real influence on what topics get included!&lt;br /&gt;&lt;br /&gt;Feel free to check out &lt;a href="http://www.manning.com/ibsen"&gt;the book&lt;/a&gt; and &lt;a href="http://www.manning-sandbox.com/forum.jspa?forumID=601"&gt;forums&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-4749598916074005788?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/4749598916074005788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=4749598916074005788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4749598916074005788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4749598916074005788'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2009/10/camel-in-action.html' title='Camel in Action'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-2901174522835994348</id><published>2009-05-11T10:57:00.000-02:30</published><updated>2009-05-11T11:22:55.499-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Introduction to the Open eHealth Integration Platform</title><content type='html'>Martin Krasser has just posted an excellent article on the &lt;a href="http://gforge.openehealth.org/gf/project/ipf/"&gt;Open eHealth Integration Platform&lt;/a&gt; (IPF). The IPF is essentially an extension of Apache Camel for the healthcare domain. Where Camel focuses on providing an easy to use domain specific language (DSL) for enterprise integration, the IPF adds DSL terms from the healthcare domain. Go check it out! &lt;br /&gt;&lt;br /&gt;&lt;a href="http://architects.dzone.com/articles/introduction-open-ehealth"&gt;Introduction to the Open eHealth Integration Platform&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-2901174522835994348?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/2901174522835994348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=2901174522835994348' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2901174522835994348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2901174522835994348'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2009/05/introduction-to-open-ehealth.html' title='Introduction to the Open eHealth Integration Platform'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-6153669529191693235</id><published>2009-03-30T15:22:00.000-02:30</published><updated>2009-03-30T15:37:33.675-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Apache Camel Refcard at DZone</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.dzone.com/links/enterprise_integration_patterns_with_apache_camel.html"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 154px; height: 200px;" src="http://1.bp.blogspot.com/_JZEz3zQ95mA/SdEKDkWHnWI/AAAAAAAAAFs/l_AFl8pAEWE/s200/refcard.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5319043691313601890" /&gt;&lt;/a&gt;&lt;br /&gt;Fellow Camel guru &lt;a href="http://davsclaus.blogspot.com/"&gt;Claus Ibsen&lt;/a&gt; has created a lovely &lt;a href="http://www.dzone.com/links/enterprise_integration_patterns_with_apache_camel.html"&gt;Refcard&lt;/a&gt; for &lt;a href="http://www.dzone.com"&gt;DZone&lt;/a&gt;. From the description&lt;br /&gt;&lt;blockquote&gt;This Refcard provides you with eleven of the most essential patterns that anyone working with integration must know. This Refcard is targeted for software developers and enterprise architects, but anyone in the integration space can benefit as well.&lt;/blockquote&gt; &lt;br /&gt;Go check it out!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dzone.com/links/enterprise_integration_patterns_with_apache_camel.html"&gt;Enterprise Integration Patterns with Apache Camel&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-6153669529191693235?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/6153669529191693235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=6153669529191693235' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/6153669529191693235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/6153669529191693235'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2009/03/apache-camel-refcard-at-dzone.html' title='Apache Camel Refcard at DZone'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JZEz3zQ95mA/SdEKDkWHnWI/AAAAAAAAAFs/l_AFl8pAEWE/s72-c/refcard.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-1319757415200282420</id><published>2009-03-23T16:14:00.000-02:30</published><updated>2009-03-23T17:08:08.955-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='FUSE'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>Apache Camel: Integration Nirvana</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JZEz3zQ95mA/ScfkUh0PqoI/AAAAAAAAAFU/CcaC7cNMJhQ/s1600-h/apache_buddah_180x135.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 180px; height: 135px;" src="http://3.bp.blogspot.com/_JZEz3zQ95mA/ScfkUh0PqoI/AAAAAAAAAFU/CcaC7cNMJhQ/s200/apache_buddah_180x135.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5316468926460177026" /&gt;&lt;/a&gt; I wrote up a little article on Apache Camel for &lt;a href="http://www.dzone.com"&gt;DZone&lt;/a&gt;, go check it out!&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;a href="http://architects.dzone.com/articles/apache-camel-integration"&gt;Apache Camel: Integration Nirvana&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-1319757415200282420?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/1319757415200282420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=1319757415200282420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/1319757415200282420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/1319757415200282420'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2009/03/apache-camel-integration-nirvana.html' title='Apache Camel: Integration Nirvana'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JZEz3zQ95mA/ScfkUh0PqoI/AAAAAAAAAFU/CcaC7cNMJhQ/s72-c/apache_buddah_180x135.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-7278168386550185798</id><published>2009-02-23T10:36:00.001-03:30</published><updated>2009-02-23T10:37:38.032-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='FUSE'/><title type='text'>Camel User Guide</title><content type='html'>For those never-read-anything-besides-physical-paper people, the Apache Camel user guide in PDF form may interest you. Be warned for printing it though as its quite large :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://camel.apache.org/manual/camel-manual-1.6.0.pdf"&gt;Apache Camel User Guide version 1.6.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is really the closest thing we have to a book on Camel. Hoping that will change in the near future!&lt;br /&gt;&lt;br /&gt;Another great source for nicely printable Camel documentation is &lt;a href="http://fusesource.com/"&gt;FUSE Source&lt;/a&gt;. &lt;a href="http://fusesource.com/products/enterprise-camel/#documentation"&gt;Check it out here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-7278168386550185798?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/7278168386550185798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=7278168386550185798' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/7278168386550185798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/7278168386550185798'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2009/02/camel-user-guide_23.html' title='Camel User Guide'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-325636929741040876</id><published>2009-02-17T18:12:00.000-03:30</published><updated>2009-02-17T18:30:30.668-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Apache Camel 1.6.0 Released!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JZEz3zQ95mA/SZswcIxIrDI/AAAAAAAAAEE/7T7U9-YUJtE/s1600-h/camel-box-small.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 204px;" src="http://2.bp.blogspot.com/_JZEz3zQ95mA/SZswcIxIrDI/AAAAAAAAAEE/7T7U9-YUJtE/s400/camel-box-small.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5303886246106934322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Camel team is pleased to &lt;a href="http://cwiki.apache.org/confluence/display/CAMEL/2009/02/17/Apache+Camel+1.6.0+Released!"&gt;announce the release of Apache Camel 1.6.0&lt;/a&gt;. Get it while its hot!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/camel/apache-camel/1.6.0/apache-camel-1.6.0.tar.gz"&gt;Unix/Linux/Cygwin Distribution&lt;/a&gt;&lt;br /&gt;&lt;a href="http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/camel/apache-camel/1.6.0/apache-camel-1.6.0.zip"&gt;Windows Distribution&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We've fixed 169 issues in this release so its a worthwhile upgrade for all Camel users. You can find the full list of changes &lt;a href="http://camel.apache.org/camel-160-release.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-325636929741040876?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/325636929741040876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=325636929741040876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/325636929741040876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/325636929741040876'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2009/02/apache-camel-160-released.html' title='Apache Camel 1.6.0 Released!'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JZEz3zQ95mA/SZswcIxIrDI/AAAAAAAAAEE/7T7U9-YUJtE/s72-c/camel-box-small.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-4090243108240837687</id><published>2009-02-16T11:16:00.000-03:30</published><updated>2009-02-16T11:34:00.466-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='FUSE'/><title type='text'>Apache Camel... more EIPs than you can shake a stick at!</title><content type='html'>For those of you who don't know already, one of &lt;a href="http://camel.apache.org"&gt;Apache Camel&lt;/a&gt;'s main themes is to make complex &lt;a href="http://www.enterpriseintegrationpatterns.com/toc.html"&gt;Enterprise Integration Patterns&lt;/a&gt; (EIPs) accessible to the everyday Java developer. We have an &lt;a href="http://camel.apache.org/enterprise-integration-patterns.html"&gt;extensive catalog of EIPs&lt;/a&gt; that we support and recently I added a few more.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.enterpriseintegrationpatterns.com/img/DistributionAggregateIcon.gif"&gt;&lt;/img&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://camel.apache.org/composed-message-processor.html"&gt;Composed Message Processor&lt;/a&gt;&lt;/td&gt;&lt;td&gt;How can you maintain the overall message flow when processing a message consisting of multiple elements, each of which may require different processing?&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.enterpriseintegrationpatterns.com/img/StoreInLibraryIcon.gif"&gt;&lt;/img&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://camel.apache.org/claim-check.html"&gt;Claim Check&lt;/a&gt;&lt;/td&gt;&lt;td&gt;How can we reduce the data volume of message sent across the system without sacrificing information content?&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.enterpriseintegrationpatterns.com/img/DetourIcon.gif"&gt;&lt;/img&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://camel.apache.org/detour.html"&gt;Detour&lt;/a&gt;&lt;/td&gt;&lt;td&gt;How can you route a message through intermediate steps to perform validation, testing or debugging functions?&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://camel.apache.org/scatter-gather.html"&gt;Scatter-Gather&lt;/a&gt;&lt;/td&gt;&lt;td&gt;How do you maintain the overall message flow when a message needs to be sent to multiple recipients, each of which may send a reply?&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;You can try any of these patterns out using Apache Camel / &lt;a href="http://fusesource.com/products/enterprise-camel/"&gt;FUSE Mediation Router&lt;/a&gt; 1.5 and onward.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-4090243108240837687?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/4090243108240837687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=4090243108240837687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4090243108240837687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/4090243108240837687'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2009/02/apache-camel-more-eips-than-you-can.html' title='Apache Camel... more EIPs than you can shake a stick at!'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-7828339668862709629</id><published>2009-01-29T19:14:00.000-03:30</published><updated>2009-01-29T19:48:44.097-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>POJOs can route too!</title><content type='html'>In Camel we have several really cool &lt;a href="http://camel.apache.org/dsl.html"&gt;Domain Specific Languages (DSLs)&lt;/a&gt; for easily expressing routing rules. But you don't need to learn these to use Camel. Starting with a POJO, you can use annotations to produce, consume or route messages to any &lt;a href="http://camel.apache.org/components.html"&gt;Camel endpoint&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Take the following bean for example&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;public class BeanThatTalksCamel {&lt;br /&gt;    @Produce(uri=&amp;quot;activemq:myQueue&amp;quot;)&lt;br /&gt;    ProducerTemplate producer;&lt;br /&gt;&lt;br /&gt;    @Consume(uri = &amp;quot;file:a/path&amp;quot;)&lt;br /&gt;    public void onFileSendToQueue(String body) {&lt;br /&gt;        producer.sendBody(body);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;We use the &lt;a href="http://activemq.apache.org/camel/pojo-consuming.html"&gt;@Consume&lt;/a&gt; annotation to mark onFileSendToQueue as a consumer of any messages coming from the file:a/path endpoint. To enable the bean to send messages to the activemq:myQueue endpoint, we use the &lt;a href="http://camel.apache.org/pojo-producing.html"&gt;@Produce&lt;/a&gt; annotation. All conversions between Files, Strings and JMS Messages are automatic. Pretty easy huh? &lt;br /&gt;&lt;br /&gt;We also have the &lt;a href="http://camel.apache.org/recipientlist-annotation.html"&gt;@RecipientList&lt;/a&gt; annotation that turns any bean into a dynamic &lt;a href="http://camel.apache.org/recipient-list.html"&gt;Recipient List&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&lt;br /&gt;public class RecipientListBean {&lt;br /&gt;    @Consume(uri = &amp;quot;activemq:myQueue&amp;quot;)&lt;br /&gt;    @RecipientList&lt;br /&gt;    public List route(String body) {&lt;br /&gt;       // return list of recipients based on message body&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here we consume JMS messages from myQueue and based on the body, send it out to a list of recipients. Again, very easy. If you're a ServiceMix user, &lt;a href="http://http://gertvanthienen.blogspot.com/2009/01/better-cbr.html"&gt;Gert&lt;/a&gt; mentions how to use this trick from a ServiceMix perspective too, go check it out!  &lt;br /&gt;&lt;br /&gt;If you need more info, I've put all of these concepts into a little demo &lt;a href="http://camel.apache.org/pojo-messaging-example.html"&gt;here&lt;/a&gt;. As always, if you need help using Camel, please &lt;a href="http://camel.apache.org/support.html"&gt;get in touch&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-7828339668862709629?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/7828339668862709629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=7828339668862709629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/7828339668862709629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/7828339668862709629'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2009/01/pojos-can-route-too.html' title='POJOs can route too!'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-6048643816087413316</id><published>2009-01-26T10:22:00.000-03:30</published><updated>2009-01-26T10:30:03.647-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Helpful Maven Build Tips</title><content type='html'>&lt;a href="http://blogs.sonatype.com/people/2009/01/maven-continuous-integration-best-practices/"&gt;Brian Fox&lt;/a&gt; recently posted some great tips to improve your Maven builds. You should check them out if you haven't already. I've been doing most of what he said already but one really caught my attention, and I will repost here:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#6 Print Test Failures to Standard Output&lt;br /&gt;&lt;br /&gt;Tip: Enable -Dsurefire.useFile=false. This is a favorite of mine since this causes surefire to print test failures to standard out, where it will get included in the build failure log and email. This saves you from having to dig back onto the machine to find the surefire report just to see a simple stack trace. (to enable globally in settings.xml:&lt;properties&gt;&lt;surefire.useFile&gt;true&lt;/surefire.useFile&gt;&lt;/properties&gt; in an active profile)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I can't believe I didn't know about this option before. Having to grep through surefire log files has really annoyed me in the past... many kudos to Brian for sharing this!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-6048643816087413316?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/6048643816087413316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=6048643816087413316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/6048643816087413316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/6048643816087413316'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2009/01/helpful-maven-build-tips.html' title='Helpful Maven Build Tips'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-2586484604431827903</id><published>2009-01-20T17:05:00.000-03:30</published><updated>2009-01-21T09:32:14.451-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Camel is now an Apache top level project!</title><content type='html'>As &lt;a href="http://macstrac.blogspot.com/2009/01/apache-camel-goes-top-level.html"&gt;James&lt;/a&gt; and &lt;a href="http://davsclaus.blogspot.com/2009/01/apache-camel-is-now-on-top.html"&gt;Claus&lt;/a&gt; have said today, Camel has been promoted to a top level project at Apache! This is a great vote of confidence for Camel, my fellow riders, and the rocking community. Thanks to all who've helped so far!&lt;br /&gt;&lt;br /&gt;So, you should update your links to &lt;a href="http://camel.apache.org"&gt;http://camel.apache.org&lt;/a&gt; now :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-2586484604431827903?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/2586484604431827903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=2586484604431827903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2586484604431827903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2586484604431827903'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2009/01/camel-is-now-apache-top-level-project.html' title='Camel is now an Apache top level project!'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-3599681083893207389</id><published>2008-12-10T15:44:00.000-03:30</published><updated>2008-12-10T17:19:27.432-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>RSS support in Camel</title><content type='html'>We've had &lt;a href="http://activemq.apache.org/camel/atom.html"&gt;Atom&lt;/a&gt; connectivity in Camel for a while now and so to not leave any RSS users out in the cold, I put in &lt;a href="http://cwiki.apache.org/confluence/display/CAMEL/RSS"&gt;RSS&lt;/a&gt; support as well. We try to integrate with pretty much every messaging system in Camel after-all :)&lt;br /&gt;&lt;br /&gt;Under the hood I'm using the &lt;a href="https://rome.dev.java.net/"&gt;ROME&lt;/a&gt; project. Its pretty much the standard Java framework for dealing with RSS feeds.&lt;br /&gt;&lt;br /&gt;To consume from an RSS feed, just start your route like&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 10px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;from(&amp;quot;rss:http://feeds.feedburner.com/JonAnsteysBlog&amp;quot;)...&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Then you can do all sorts of neat stuff like,&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Filtering entries&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Only entries with Camel in the title will get through this filter.&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 10px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;from(&amp;quot;rss:feedUri?splitEntries=true&amp;quot;).&lt;br /&gt;    filter().method(&amp;quot;myFilterBean&amp;quot;, &amp;quot;titleContainsCamel&amp;quot;).&lt;br /&gt;    to(&amp;quot;mock:result&amp;quot;);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Merging multiple incoming feeds&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Sometimes you may need to merge feeds from several different sources.&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 10px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;from(&amp;quot;rss:feedUri&amp;quot;).to(&amp;quot;seda:temp&amp;quot;);&lt;br /&gt;from(&amp;quot;rss:someOtherFeedUri&amp;quot;).to(&amp;quot;seda:temp&amp;quot;);&lt;br /&gt;&lt;br /&gt;from(&amp;quot;seda:temp&amp;quot;).aggregate(new AggregateRssFeedCollection()).&lt;br /&gt;    to(&amp;quot;mock:result&amp;quot;);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Marshal between XML and ROME objects&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Here we perform the same filtering as above but instead marshal to XML and use XPath.&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 10px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;from(&amp;quot;rss:feedUri?splitEntries=true&amp;quot;).&lt;br /&gt;    marshal().rss().&lt;br /&gt;    filter().xpath(&amp;quot;//item/title[contains(.,'Camel')]&amp;quot;).&lt;br /&gt;    to(&amp;quot;mock:result&amp;quot;);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;For more info, check out the &lt;a href="http://cwiki.apache.org/confluence/display/CAMEL/RSS"&gt;wiki documentation&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-3599681083893207389?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/3599681083893207389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=3599681083893207389' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/3599681083893207389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/3599681083893207389'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2008/12/rss-support-in-camel.html' title='RSS support in Camel'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-2482225272893952676</id><published>2008-11-12T10:36:00.001-03:30</published><updated>2008-12-10T17:19:41.391-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>How do you use your Apache Camel?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JZEz3zQ95mA/SRri_qOWMCI/AAAAAAAAADI/PBAuk1poLDw/s1600-h/apache-camel-6.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 232px; height: 108px;" src="http://1.bp.blogspot.com/_JZEz3zQ95mA/SRri_qOWMCI/AAAAAAAAADI/PBAuk1poLDw/s400/apache-camel-6.png" alt="" id="BLOGGER_PHOTO_ID_5267772297457315874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The Apache Camel project has been growing by leaps and bounds lately it seems. Much of this growth has been driven by a vibrant community (many thanks to all users! :) ). Its typically hard though to know what kind of applications Camel is being used in. We don't have much visibility into the cool stuff people are doing with Camel. In particular, in would be nice to know what other applications are being used with Camel... eg. CMSs, DBs, ESBs, App Servers, web frameworks, other frameworks, etc etc&lt;br /&gt;&lt;br /&gt;I've started a thread &lt;a href="http://www.nabble.com/-TO-USERS--How-do-you-use-your-Apache-Camel--tt20460957s22882.html"&gt;here&lt;/a&gt; trying to capture how folks are using Camel. Please, if you're a user of Camel, take a minute to share how it is being used on the thread or here. This will only help us make Camel better and more useful in the future. No confidential info allowed, of course ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-2482225272893952676?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/2482225272893952676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=2482225272893952676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2482225272893952676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2482225272893952676'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2008/11/how-do-you-use-your-apache-camel.html' title='How do you use your Apache Camel?'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JZEz3zQ95mA/SRri_qOWMCI/AAAAAAAAADI/PBAuk1poLDw/s72-c/apache-camel-6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-5257226557237229806</id><published>2008-11-05T13:25:00.000-03:30</published><updated>2008-12-10T17:19:49.139-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='m2eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Creating Apache Camel projects with m2eclipse</title><content type='html'>I just noticed today that &lt;a href="http://activemq.apache.org/camel"&gt;Apache Camel&lt;/a&gt; shows up by default in the &lt;a href="http://m2eclipse.sonatype.org/"&gt;m2eclipse&lt;/a&gt; &lt;a href="http://www.sonatype.com/book/reference/eclipse.html#sect-m2e-create-archetype"&gt;New Maven Project&lt;/a&gt; dialog. No extra fooling around is required anymore. Very cool!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JZEz3zQ95mA/SRHTlIaMwPI/AAAAAAAAADA/h3aTEao9fSg/s1600-h/newmavenproject.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 286px;" src="http://4.bp.blogspot.com/_JZEz3zQ95mA/SRHTlIaMwPI/AAAAAAAAADA/h3aTEao9fSg/s400/newmavenproject.png" alt="" id="BLOGGER_PHOTO_ID_5265222074238812402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is by far the easiest way to get started with Apache Camel - you don't even have to leave your IDE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-5257226557237229806?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/5257226557237229806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=5257226557237229806' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/5257226557237229806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/5257226557237229806'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2008/11/creating-apache-camel-projects-with.html' title='Creating Apache Camel projects with m2eclipse'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_JZEz3zQ95mA/SRHTlIaMwPI/AAAAAAAAADA/h3aTEao9fSg/s72-c/newmavenproject.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-6738685122661677555</id><published>2008-10-31T14:09:00.000-02:30</published><updated>2008-10-31T14:32:21.223-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Apache Camel 1.5.0 Released!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JZEz3zQ95mA/SQs3Y9gcT2I/AAAAAAAAACo/9fliISzJtHg/s1600-h/apache-camel-6.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 232px; height: 108px;" src="http://1.bp.blogspot.com/_JZEz3zQ95mA/SQs3Y9gcT2I/AAAAAAAAACo/9fliISzJtHg/s400/apache-camel-6.png" alt="" id="BLOGGER_PHOTO_ID_5263361491479580514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Several months and 266 fixes later (a new record!), the &lt;a href="http://activemq.apache.org/camel/"&gt;Apache Camel&lt;/a&gt; team is proud to present version 1.5.0!&lt;br /&gt;&lt;br /&gt;Go ahead, take a look at the &lt;a href="http://activemq.apache.org/camel/camel-150-release.html"&gt;release notes&lt;/a&gt; and grab it &lt;a href="http://activemq.apache.org/camel/download.html"&gt;here&lt;/a&gt;. Its still pretty fresh so it may take a few hours before the release propagates to all Apache download mirrors (try &lt;a href="http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/camel/apache-camel/1.5.0/"&gt;here&lt;/a&gt; otherwise).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-6738685122661677555?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/6738685122661677555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=6738685122661677555' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/6738685122661677555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/6738685122661677555'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2008/10/apache-camel-150-released.html' title='Apache Camel 1.5.0 Released!'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JZEz3zQ95mA/SQs3Y9gcT2I/AAAAAAAAACo/9fliISzJtHg/s72-c/apache-camel-6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-2808091344275336113</id><published>2008-10-14T20:14:00.000-02:30</published><updated>2008-10-14T20:21:57.529-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nexus'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Repeatable Maven Builds</title><content type='html'>A typical problem folks have with Maven seems to be &lt;a href="http://aidan-skinner.livejournal.com/229584.html?thread=615632#t615632"&gt;getting repeatable builds&lt;/a&gt;. If you've encountered this, you know the pain: an older release needs to be built but now fails with the dreaded "Failed to resolve artifact" error. You can't really depend on most Maven repos to be there indefinitely. I'm sure repos like http://repo1.maven.org are pretty safe but AFAIK the maintainers are under no legal obligation to keep around the artifacts forever. You most likely DO have obligations to customers and thus need to ensure builds are repeatable.&lt;br /&gt;&lt;br /&gt;You get repeatability for free when you use a repository manager like &lt;a href="http://nexus.sonatype.org/"&gt;Nexus&lt;/a&gt; - it keeps downloaded artifacts around forever by default. If you don't want to use a repository manager, you're going to have to save those artifacts some other (manual) way. One approach would be to just tar up your local m2 repo after each release and store it somewhere safe (like in SVN). Of course, since local repos tend to get huge over time, you should always start from an empty local repo before a release.&lt;br /&gt;&lt;br /&gt;Hope this helps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-2808091344275336113?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/2808091344275336113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=2808091344275336113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2808091344275336113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2808091344275336113'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2008/10/repeatable-maven-builds.html' title='Repeatable Maven Builds'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-2951217751083066805</id><published>2008-10-07T15:07:00.000-02:30</published><updated>2008-10-14T20:22:03.662-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Why drop Maven?</title><content type='html'>Recently I've noticed projects dropping Maven in favour of some other build tool... Apache Qpid comes to mind in this case. I'm wondering, is there a real good technical reason that folks do not like Maven? It has its quirks... but really, what tool doesn't? I've been using it for years now and like it better that any other build tool out there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-2951217751083066805?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/2951217751083066805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=2951217751083066805' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2951217751083066805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/2951217751083066805'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2008/10/why-drop-maven.html' title='Why drop Maven?'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-8495762864343317713</id><published>2008-09-19T16:47:00.000-02:30</published><updated>2008-09-19T18:58:48.706-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='m2eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Nexus'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><category scheme='http://www.blogger.com/atom/ns#' term='FUSE'/><title type='text'>Nexus indices added for FUSE</title><content type='html'>I've added &lt;a href="http://nexus.sonatype.org/"&gt;Nexus&lt;/a&gt; repository indices for the &lt;a href="http://open.iona.com/"&gt;FUSE&lt;/a&gt; Maven repositories. You can find instructions on how to add these to your &lt;a href="http://m2eclipse.sonatype.org/"&gt;m2eclipse&lt;/a&gt; installation &lt;a href="http://open.iona.com/wiki/display/ProdInfo/Adding+FUSE+Maven+repos+to+m2eclipse"&gt;&lt;span style="text-decoration: underline;"&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Why should you care? Well, among many other things, this enables you:&lt;br /&gt;&lt;br /&gt;1. &lt;a href="http://www.sonatype.com/book/reference/eclipse.html#sect-m2e-create-archetype"&gt;Create&lt;/a&gt; new projects based on Camel archetypes&lt;br /&gt;2. &lt;a href="http://www.sonatype.com/book/reference/eclipse.html#d0e18331"&gt;Search&lt;/a&gt; for classes in all FUSE artifacts&lt;br /&gt;3. &lt;a href="http://www.sonatype.com/book/reference/eclipse.html#d0e18191"&gt;Add&lt;/a&gt; FUSE dependencies to your project's POM&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-8495762864343317713?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/8495762864343317713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=8495762864343317713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/8495762864343317713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/8495762864343317713'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2008/09/nexus-indices-added-for-fuse.html' title='Nexus indices added for FUSE'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-8110068338407384585</id><published>2008-09-09T20:41:00.000-02:30</published><updated>2008-09-09T21:11:22.634-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nexus'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Nexus config for Apache Camel</title><content type='html'>Some folks have been having issues getting all the Maven repositories set up properly in &lt;a href="http://nexus.sonatype.org/"&gt;Nexus&lt;/a&gt; for &lt;a href="http://activemq.apache.org/camel/"&gt;Apache Camel&lt;/a&gt;. Here's my working Nexus config and settings.xml - hope it helps!&lt;br /&gt;&lt;a href="http://people.apache.org/%7Ejanstey/blog_stuff/camel_nexus_config/nexus.xml"&gt;&lt;br /&gt;Nexus config&lt;/a&gt; (admittedly polluted with repos from other projects...)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://people.apache.org/%7Ejanstey/blog_stuff/camel_nexus_config/settings.xml"&gt;settings.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I found my Nexus config in /opt/sonatype-work/nexus/conf. I'm not sure what happens when you copy in a new Nexus config file so you should probably make a copy of the sonatype-work directory first :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-8110068338407384585?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/8110068338407384585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=8110068338407384585' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/8110068338407384585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/8110068338407384585'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2008/09/nexus-config-for-apache-camel.html' title='Nexus config for Apache Camel'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-8954622480986228001</id><published>2008-09-04T12:56:00.000-02:30</published><updated>2008-09-04T13:02:53.987-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>I'm an Apache Camel committer!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JZEz3zQ95mA/SL__VwjctTI/AAAAAAAAACg/ytJRqteOmNI/s1600-h/apache-camel-6.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_JZEz3zQ95mA/SL__VwjctTI/AAAAAAAAACg/ytJRqteOmNI/s200/apache-camel-6.png" alt="" id="BLOGGER_PHOTO_ID_5242189240558466354" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Over the past few months I've been hacking away on various parts of &lt;a href="http://activemq.apache.org/camel/"&gt;Apache Camel&lt;/a&gt;. It was initially just for fun, but quickly turned into my day job :) With over 40 fixes contributed, the Camel team decided to vote me in as a committer!&lt;br /&gt;&lt;br /&gt;This is my first committer status on any Apache project so its pretty exciting. I've traditionally been involved with closed source projects only.&lt;br /&gt;&lt;br /&gt;Looking forward to more Camel hacking!&lt;br /&gt;&lt;br /&gt;BTW for those who are interesting in contributing to the growing Camel project, &lt;a href="http://icodebythesea.blogspot.com/"&gt;Jamie&lt;/a&gt; posted a good guide to Apache process &lt;a href="http://icodebythesea.blogspot.com/2008/09/responses-how-to-contribute-to-apache.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-8954622480986228001?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/8954622480986228001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=8954622480986228001' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/8954622480986228001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/8954622480986228001'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2008/09/im-apache-camel-committer.html' title='I&apos;m an Apache Camel committer!'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JZEz3zQ95mA/SL__VwjctTI/AAAAAAAAACg/ytJRqteOmNI/s72-c/apache-camel-6.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-1016140995124806496</id><published>2008-08-27T21:05:00.000-02:30</published><updated>2008-08-27T21:13:27.614-02:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nexus'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Nexus == easy</title><content type='html'>I must admit, the &lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt; setup at work has me a bit spoiled. Direct LAN access to a bunch of Maven mirrors makes for some pretty fast builds. Problem is, when I go off site I have to suffer through slow builds again...&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://bsnyderblog.blogspot.com/"&gt;Bruce&lt;/a&gt; I now have wicked fast builds off site too!! A local instance of &lt;a href="http://nexus.sonatype.org/"&gt;Nexus&lt;/a&gt; is the answer. Seriously, go take a look at &lt;a href="http://bsnyderblog.blogspot.com/2008/08/do-you-use-maven-if-so-you-need-nexus.html"&gt;the steps Bruce posted&lt;/a&gt;. It took me like 30 minutes to setup and add about &lt;span style="font-weight: bold;"&gt;twenty&lt;/span&gt; mirrors - now thats freakin' easy.&lt;br /&gt;&lt;br /&gt;Heres the best part (I'm building &lt;a href="http://activemq.apache.org/camel"&gt;Apache Camel&lt;/a&gt; here with a clean local repo):&lt;br /&gt;&lt;br /&gt;No mirroring&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[INFO] Total time: 31 minutes 18 seconds&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Custom internal mirrors&lt;br /&gt;[INFO] Total time: 7 minutes 52 seconds&lt;br /&gt;&lt;br /&gt;Nexus mirroring&lt;br /&gt;[INFO] Total time: 3 minutes 3 seconds&lt;br /&gt;&lt;br /&gt;Anyway, bottom line is that I'm impressed. Great work Maven guys!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-1016140995124806496?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/1016140995124806496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=1016140995124806496' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/1016140995124806496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/1016140995124806496'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2008/08/nexus-easy.html' title='Nexus == easy'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7653570007295451610.post-7161378749124824806</id><published>2008-08-26T22:25:00.001-02:30</published><updated>2011-11-22T12:35:35.067-03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache Camel'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'>Eclipse Templates for Apache Camel</title><content type='html'>If you didn't know already, Eclipse allows you to define custom templates for commonly used code snippets. Its a very neat feature for those of us who are memory challenged or don't like typing things twice!&lt;br /&gt;&lt;br /&gt;I think that Apache Camel users could really benefit from having predefined templates for doing Camel routing. I also hear a lot of requests like "I have this Java DSL route, how do I do this in the Spring XML DSL?" so having both Java and XML templates for the same thing is essential.&lt;br /&gt;&lt;br /&gt;You can find the templates I did up &lt;a href="https://svn.apache.org/repos/asf/camel/trunk/etc/eclipse/camel_java_templates.xml"&gt;here&lt;/a&gt; &amp;amp; &lt;a href="https://svn.apache.org/repos/asf/camel/trunk/etc/eclipse/camel_xml_templates.xml"&gt;here&lt;/a&gt;. To import these browse to the template screens defined at:&lt;br /&gt;&lt;br /&gt;Window -&amp;gt; Preferences -&amp;gt; Java -&amp;gt; Editor -&amp;gt; Templates&lt;br /&gt;and&lt;br /&gt;Window -&amp;gt; Preferences -&amp;gt; Web and XML -&amp;gt; XML Files -&amp;gt; Templates.&lt;br /&gt;&lt;br /&gt;Once imported, you can type Ctrl + Space and then type 'camel' to search for the camel templates. You should see something like this in the Java and XML editors:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_JZEz3zQ95mA/SLSnY6Y4TjI/AAAAAAAAAB4/iLfLvi1ljtE/s1600-h/java_template_selection.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_JZEz3zQ95mA/SLSnY6Y4TjI/AAAAAAAAAB4/iLfLvi1ljtE/s320/java_template_selection.png" alt="" id="BLOGGER_PHOTO_ID_5238996312971038258" border="0" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_JZEz3zQ95mA/SLSnZd9AEfI/AAAAAAAAACA/qy6BVcAG6_U/s1600-h/xml_template_selection.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_JZEz3zQ95mA/SLSnZd9AEfI/AAAAAAAAACA/qy6BVcAG6_U/s320/xml_template_selection.png" alt="" id="BLOGGER_PHOTO_ID_5238996322517783026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;When you select, say a Content Based Router, you'll get a route something like this in the Java and XML editors:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_JZEz3zQ95mA/SLSphdkYyDI/AAAAAAAAACY/_mqBSr3uJpU/s1600-h/java_template.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_JZEz3zQ95mA/SLSphdkYyDI/AAAAAAAAACY/_mqBSr3uJpU/s400/java_template.png" alt="" id="BLOGGER_PHOTO_ID_5238998658876753970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_JZEz3zQ95mA/SLSn-w1dxdI/AAAAAAAAACQ/-gE7mDXagzM/s1600-h/xml_template.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 381px; height: 201px;" src="http://3.bp.blogspot.com/_JZEz3zQ95mA/SLSn-w1dxdI/AAAAAAAAACQ/-gE7mDXagzM/s320/xml_template.png" alt="" id="BLOGGER_PHOTO_ID_5238996963241608658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The formatting was a bit wonky for these Eclipse templates so you might want to pretty up your routes before showing anyone else :)&lt;br /&gt;&lt;br /&gt;Let me know what you think!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7653570007295451610-7161378749124824806?l=janstey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://janstey.blogspot.com/feeds/7161378749124824806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7653570007295451610&amp;postID=7161378749124824806' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/7161378749124824806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7653570007295451610/posts/default/7161378749124824806'/><link rel='alternate' type='text/html' href='http://janstey.blogspot.com/2008/08/eclipse-templates-for-apache-camel.html' title='Eclipse Templates for Apache Camel'/><author><name>Jonathan Anstey</name><uri>http://www.blogger.com/profile/15936382362202148472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_JZEz3zQ95mA/Sa_TdC9QM1I/AAAAAAAAAEk/59a_ucuc4j0/S220/me_small.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JZEz3zQ95mA/SLSnY6Y4TjI/AAAAAAAAAB4/iLfLvi1ljtE/s72-c/java_template_selection.png' height='72' width='72'/><thr:total>4</thr:total></entry></feed>
