Dynamic Routes with Apache Camel

By nick | Published March 9th, 2012

If you’ve spent any time with Apache Camel, you’ve likely wanted to make your routes more flexible. For example, you may want to redirect a route to a different endpoint based on changing criteria or conditions defined in a database. This post looks at two methods Apache Camel provides for altering your routes at runtime:…

Aggregating with MongoDB

By nick | Published February 29th, 2012

Moving from a relational database to a NoSQL data store isn’t without some costs. If you’re like me and largely living in a Java world, one cost is immediately losing the expressiveness of ORM tools like Hibernate or JPA. Outside of the Java domain, several of SQL’s projection or aggregation functions are lost. For example,…

Simple Master Election with Camel and ZooKeeper

By nick | Published February 27th, 2012

Most modern, distributed applications require some form of coordination service to ensure tasks or jobs run only where they’re supposed to. For example, it may be necessary to run a cleanup task on dedicated servers. Writing your own master election or coordination service can be difficult. This is where Apache ZooKeeper comes in. ZooKeeper provides…

Performance problem in Apache Camel’s conversion mechanism

By nick | Published February 19th, 2012

Performance testing a complex application is never particularly easy. In the best cases, it’s tedious and mildly frustrating. It’s easy to spend hours or days diagnosing why you’re not getting the expected throughput. This occurred just last week during some load and performance testing of an application making heavy use of Apache Camel. We found…

Your Data For Sale

By nick | Published February 8th, 2012

Earlier this week Joseph Turow published an article on The Atlantic’s website titled “A Guide to the Digital Advertising Industry That’s Watching Your Every Click”. The article presented a few scenarios surrounding the level of targeted messaging available to marketers with digital tracking, as well as an overview of public reaction. One aspect left unexplored…

Avoid an MVEL Bug In Drools Snapshots

By nick | Published January 20th, 2010

If you’re working with Drools trunk snapshots, you may be tripping over a bug in MVEL that caused me to lose about a day. On the RHS (right-hand side, the consequence) of my rule I had the following: Which resulted in this error: [Error: unable to access property (null parent): $obj] However, if I call…

VMware and SpringSource – Why Bother?

By nick | Published August 10th, 2009

Monday saw the rather surprising announcement that VMware is acquiring SpringSource for about $420m all in. After the initial shock wore off, the next question had to be: Why bother acquiring SpringSource in the first place? According to the press release: VMware and SpringSource plan to deliver compelling new solutions that enable companies to more…

Querying XML with eXist

By nick | Published August 7th, 2009

Recently I needed to be able to be able to query a bunch of XML files using XQuery. I looked at some options like CouchDB but ultimately I needed a database of some sort that had native support for XQuery. While it looks like you can add on or hack in XQuery support to CouchDB,…

Wicket RefCard Released

By nick | Published July 29th, 2009

Congrats to Andrew over at Mystic Coders for releasing his Wicket reference card over at DZone. Of course, I’m probably going to take his refcard text and work it into WicketForge.

At long last, an excellent JAXB tutorial

By nick | Published March 24th, 2009

Like it or not, if you’re writing code today you’re going to have to deal with consuming and producing XML. From my experience, one of the best options to manage the heavy lifting surrounding XML. However finding useful information on JAXB is difficult, with various forum posts and mailing lists, most information is out of…