ActiveMQ producer flow control with timeout

ActiveMQ producer flow control feature allows you to prevent overflowing the broker by slowing down fast producers. Thus far you had two options, the producer send() method will either wait until space becomes available, or fail if it’s configured through sendFailIfNoSpace property, like this: <systemUsage> <systemUsage sendFailIfNoSpace=”true”> <memoryUsage> <memoryUsage limit=”20 mb”/> </memoryUsage> </systemUsage> </systemUsage> For… Continue reading ActiveMQ producer flow control with timeout

Published
Categorized as ActiveMQ

Jettison 1.2 Released

Jettison version 1.2 has been released. The highlights of this release are: Refactored MappedXMLStreamWriter – which solved many issues with serializing arrays Plugable type converters and support for 64-bit long conversion You can find the full change log for this release on the Download page. Enjoy

Fuse Stomp project

In our attempt to provide better future for Stomp protocol, we already moved specification under ActiveMQ project umbrella, where all future specification improvements will be done. Another necessary step is to provide high-quality Stomp clients for use in different development environments. For that purpose, we created Stomp project on FUSE Forge. It should provide a… Continue reading Fuse Stomp project

Published
Categorized as Fuse, Stomp

Python messaging: ActiveMQ and RabbitMQ

I found myself recently with a task of testing various Python messaging clients. In this article I’ll present my findings regarding performance and scalability on two Python clients connecting to ActiveMQ and RabbitMQ message brokers. For ActiveMQ Python client, I used pyactivemq library version 0.1.0. It’s basically a Python wrapper for ActiveMQ-CPP library, allowing Python… Continue reading Python messaging: ActiveMQ and RabbitMQ

Apache ActiveMQ 5.3.0 Released

After more than a year in development, we finally released 5.3.0 version of ActiveMQ. It contains over 300 bug fixes, but also some of the neat new features. The full list of features and bug fixes, as well as the download link can be found at the release page Here, I would like to emphasize… Continue reading Apache ActiveMQ 5.3.0 Released

Published
Categorized as ActiveMQ

XML to JSON

While working on Jettison, I often have need to convert XML to JSON. Here’s a simple method that uses XStream and Jettison to do this conversion. import java.io.StringReader; import java.io.StringWriter; import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; import com.thoughtworks.xstream.io.copy.HierarchicalStreamCopier; import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver; import com.thoughtworks.xstream.io.xml.XppReader; public class Test { public static void main(String[] args) throws Exception { String xml =… Continue reading XML to JSON

Wire format negotiation timeout and log4j jms appender FAQs

Some folks have been experiencing problems with wire format negotiation timeouts. Sometimes it was due to overloaded brokers or lousy networks, but misconfiguration of log4j jms appender could also be one of the causes. So, I wrote two FAQ entries that covers this topic: Using log4j appender with ActiveMQ Wire format negotiation timeout exception Enjoy

Published
Categorized as ActiveMQ

Stomp Future

While thinking about the future of Stomp protocol, we concluded that the best place for future maintenance of the specification is under umbrella of ActiveMQ project. There are a couple reasons for this, but it basically boils down to two facts: Apache infrastructure is much better suited for this task than the one currently used… Continue reading Stomp Future

pyactivemq on Ubuntu

pyactivemq is a Python library that enables Python clients to communicate with ActiveMQ using both OpenWire and Stomp protocols. To do that it wraps ActiveMQ-CPP library, so it involves some compiling to make it all work. While building instructions for both ActiveMQ-CPP and pyactivemq and clear and concise, I found some additional steps were need… Continue reading pyactivemq on Ubuntu