Groovy on Storm
At work, we end up using Groovy. A lot. In fact, most of our infrastructure is built using some combination of Groovy, Java, and a hint of Clojure. When Nathan Marz's Storm came out we were understandably excited: forcing Hadoop to attempt to be a real time system was an absolute nightmare. Don't try that. It's not smart. Hadoop is a batch system.
Get out of there cat. You are not a data-centric batch processing solution.
We rearchitected, clearly. Hadoop is being used in the way its creator intended: bulk processing, and we're playing with Storm as a means of going forward with other cool projects such as moving our realtime backend processes. This includes webhook processing and a lot more.
The first step is getting Groovy to run on Storm. In fit of sleeplessness, I created a shell project and corresponding pom.xml to get everything going.
https://github.com/xorlev/groovy-storm
A very basic project with a slightly modified ExclamationTopology (no inner classes or semicolons) and a working pom.xml which uses antrun to compile the Groovy code into an executable jar. After all is said and done, one need only run java -jar target/groovy-storm-0.1.0-jar-with-dependencies.jar
Pretty simple, now I can get started on the hard work and use the storm-contrib packages to feed from SQS (our primary message queue).
