Messaging
Wow, I can’t believe I missed it. Python lovers rejoice! Seems some good folks have created a python client for ActiveMQ which is using the very robust ActiveMQ C++ client.
And for those of you on Ubuntu, Dejan Bosanac has put together an excellent guide on how to build it on ubuntu.
Note to self: investigate implementing the Double Write Buffers idea in ActiveMQ. ActiveMQ keeps several indexes into the persistent messages that it’s holding and when ActiveMQ is shutdown ungracefully, we rebuild the indexes from the data logs due to them being in inconsistent state. If your queueing up millions of messages, building those indexes can take a long time.
Double buffering may allow us fix inconistencies in those index and gets us running faster..
Whoa, time flies by, and I forgot to post about the upcoming webinar that I will be co-hosting with Rob Davies on June 10th. We will be covering some messaging basics, introducing Apache ActiveMQ and Apache Camel to the audience, but most interesting I think will be the section where Rob will be covering the results that IONA has been seeing benchmarking ActiveMQ against the SpecJMS2007 test suite. I totally agree with Rob’s comment that “An independent benchmark is important, because it negates the chance to skew home groan tests to a vendor’s strengths.”
InfoQ has posted nice article on the new features in the ActiveMQ 5.1 release versus the last 4.1 release:
Apache ActiveMQ, an open source provider of enterprise messaging services, recently released version 5.1 which includes improvements in stability and performance of the message broker product. This version also includes support for priority message ordering and a Microsoft Message Queue (MSMQ) to ActiveMQ Bridge with the new msmq transport component.
There are also improvements in the monitoring module of ActiveMQ container. A new DestinationSource class was added to access the available Queues or Topics or listen to Queues/Topics being created or deleted in the container. There is a new API to help end users view available destinations and query them to find JMS statistics such as active queue count, queue depth, number of messages etc.
Just ran into a problem where some mutlicast tests were failing on a linux box and I could not figure out why. Did a little bit of research and found out that you may need to add a route for it first. So if you have this problem try running:
route add 224.0.0.0 netmask 240.0.0.0 dev eth0
or if you have an older version of linux like me:
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0