VoldemortSpace

When I start writing a new Space implementation, a Friend’s episode where Phoebe’s brother tells Phoebe he “melts stuff” comes to mind (hilarious).

He melts stuff; I write Space implementations [nerdy laugh here].

Back in the late 90s I started reading about the Linda Coordination Language and loved it,  I deployed a 25 node Jini/JavaSpaces (Outrigger) based application (small supermarket chain, each node was a member of the Jini federation).

Due to the slow links, some early problems with OutRigger and a low memory budget on the nodes, we had to replace that implementation with a minimalistic one, and that’s why I wrote the first jPOS Space implementation.

But I always wanted to have a reliable, self-healing, highly scalable space, and guess what, I believe Project Voldemort is a God send for that, a perfect fit.

We still need a couple of weeks in order to be able to provide a first release, we still have some locking problems and need to work on the garbage collector in order to efficiently reclaim space used by expired entries, but I thought it could be a good idea to share with you the fact that we are working with this new and exciting technology just in case you want to get yourself up to speed with it.

Meanwhile, you may want to read and play with Project Voldemort, Amazon Dynamo and the miniSpaces tutorial.

Embedding Q2

People sometimes use jPOS as a library and do the wiring using Java code, something that Q2 already does in a clean and easy to maintain way.

In r2735 we’ve introduced a couple of changes to Q2 in order to simplify the way you can embed it in your application in order to get the best of both worlds.

You basically need to instantiate a Q2 object and call its start() method. That’s it.

At shutdown time, you call stop() on that instance.

There’s no reason not to use Q2 now, you just need to:

import org.jpos.q2.Q2;
...
...
  Q2 q2 = new Q2("path/to/your/deploy/directory");
  q2.start();
...
...

At stop time, you simply call:

  q2.stop();