Hi Guys, I've lately been working a new persistence store in the sandbox. You guys can check it out at: https://svn.apache.org/repos/asf/activemq/sandbox/kahadb
It's similar to the default AMQ store that is used by default today in ActiveMQ 5.x, except that it fixes several short commings that we have noticed in in the AMQ store. This new store uses a transaction log, but indexes the messages using BTrees which stay consistent on restarts which means that store recovery times are very short even when there are many messages stored in the database. This work is approaching a stable point and I think that this should become the default message store for ActiveMQ 6.0. We need to start beating on this to make sure it's rock solid. While doing this bit of work, I decided to experiment with using Google protocol buffers to encode the transaction log records and it seems to have worked out well. I think that we should research/evaluate using protocol buffer based default wire format for ActiveMQ. In addition to being able to code generate marshallers for many languages, I think we may get some substantial performance improvements from using protocol buffers. So I'm going to create a new branch in the sandbox to experiment with changing out the wireformat. Hopefully, the performance gains do manifest themselves and we can work on merging those changes back to trunk. But then this would impact ActiveMQ .NET and CPP.... So I'd be good if the .NET and CPP folks could comment on what they think of the google protocol buffer stuff that is available for their languages. -- Regards, Hiram Blog: http://hiramchirino.com Open Source SOA http://open.iona.com
