Wednesday, August 11, 2010

Adventures with ØMQ and Java : Installation

ZeroMQ - "fastest. Messaging. Ever." - well we'll see about that :)

Anyway, first thing first...we need to install ZeroMQ and ZeroMQ Java bindings in my case.

I am using Ubuntu 10.4:


First. install  ZeroMQ ( follow the instruction from the webiste http://www.zeromq.org/area:download#toc1)

Next, install Java Bindings (read this http://www.zeromq.org/bindings:java) - 
Important, make sure your JAVA_HOME is set to JDK location before you run autogen.sh script run ldconfig -v  at the end if you get:
"...cannot open shared object file: No such file or directory" 
when you trying to run your application  (thanks to this post)
Don't forget to include :
java -Djava.library.path=/usr/local/lib


That's it - Happy messaging!



Thursday, August 5, 2010

Tip: Akka 0.9.1 release (Scala 2.8) with Netbeans 6.9 (scala plugin)

I love Scala, for many different reasons - Scala actors is one of them.

However, it seems that Scala does not have a built in support for alternative serialisation (e.g., Google Protocol Buffers)

So I've decide to try Akka:
Akka supports using Google Protocol Buffers to serialize your objects. Protobuf is a very efficient network serialization protocol which is also used internally by Akka. The remote actors understand Protobuf messages so if you just send them as they are they will be correctly serialized and unserialized.  - from Akka website
Sounded good to me, so I've tried to compile some Akka sample code with Netbeans 6.9 IDE (did I mention that I also love Netbeans? well I do). Akka website gives you instructions how to set-up your developing environment. Basically you have several options:
  1. MVN option (maybe next post)
  2. Simple Build Tool (SBT)
  3. Add Akka jars to classpath

Personally, I think SBT is awesome, really do but it doesn't help me when I want to work with Netbeans IDE, not by much anyway (in my opinion).

Anyway, so back to the tip part: If you want to include Akka jars to your Netbeans project you need to follow the list of Akka's core jar files:

These are used in the core of Akka, so you need these.

  • configgy-X.jar
  • netty-X.jar
  • protobuf-java-X.jar
  • multiverse-alpha-X.jar
  • jsr166x-1.0.jar
  • geronimo-jta_1.1_spec-1.1.1.jar
  • jgroups-2.9.0.GA.jar

This didn't work for me until I've also included akka-jta-X.jar and akka-core-X.jar.

Hope it helps and saves you some valuable coding time :)

If you had  better luck or other experiences compiling Akka based project on Netbeans 6.9, please do comment.