<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Messaging on Dejan Bosanac</title>
    <link>/categories/messaging/</link>
    <description>Recent content in Messaging on Dejan Bosanac</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    
    <lastBuildDate>Mon, 17 Aug 2015 00:00:00 +0000</lastBuildDate><atom:link href="/categories/messaging/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Messaging for IoT</title>
      <link>/posts/2015-08-17-messaging-for-iot/</link>
      <pubDate>Mon, 17 Aug 2015 00:00:00 +0000</pubDate>
      
      <guid>/posts/2015-08-17-messaging-for-iot/</guid>
      <description>&lt;p&gt;Deploying message broker for an IoT use case introduces some new challenges to the broker scalability. We&amp;rsquo;re talking now about thousands of connections, consumers and destinations, which make us think of how we provision, configure and monitor our messaging infrastructure much more carefully. In this post I&amp;rsquo;ll try to sum up some of techniques that can be used with the current Apache ActiveMQ in terms to scale it better for IoT deployment. I&amp;rsquo;ll also describe some of the new features we developed for the 5.12.0 release to make it a better fit in this new world. And finally I&amp;rsquo;ll try to explain where we can go from here and what can we work on in the future.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ and HawtIO</title>
      <link>/posts/2014-04-29-activemq-and-hawtio/</link>
      <pubDate>Tue, 29 Apr 2014 00:00:00 +0000</pubDate>
      
      <guid>/posts/2014-04-29-activemq-and-hawtio/</guid>
      <description>&lt;p&gt;We introduced &lt;a href=&#34;http://hawt.io/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;HawtIO&lt;/a&gt; console as a tech preview in 5.9.0 &lt;a href=&#34;http://activemq.apache.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ActiveMQ&lt;/a&gt; release, with an idea to replace the old and rusty web console in the distribution. Unfortunately, that idea didn&amp;rsquo;t go well with the rest of Apache community so it&amp;rsquo;s voted out and 5.9.1 is released without it. You can read more on the topic of distributing non-Apache developed web consoles in Apache projects in &lt;a href=&#34;http://activemq.2283324.n4.nabble.com/DISCUSS-Remove-the-old-ActiveMQ-Console-td4675925.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;this (lengthy) thread&lt;/a&gt; if you&amp;rsquo;re interested.&lt;/p&gt;&#xA;&lt;p&gt;Anyhow, there&amp;rsquo;s a lot of people out there who liked HawtIO and are asking questions on how to use it with the future (and some old) releases. So here, I&amp;rsquo;ll try to sum up different ways of how ActiveMQ and HawtIO can be used together.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>MQTT over WebSocket transport in ActiveMQ</title>
      <link>/posts/2013-07-05-mqtt-over-websocket-transport-in-activemq/</link>
      <pubDate>Fri, 05 Jul 2013 00:00:00 +0000</pubDate>
      
      <guid>/posts/2013-07-05-mqtt-over-websocket-transport-in-activemq/</guid>
      <description>&lt;p&gt;So, we have more and more users want to connect to ActiveMQ directly from the browser using WebSockets. &lt;a href=&#34;http://activemq.apache.org/websockets.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;For quite a while now&lt;/a&gt; we support &lt;a href=&#34;http://stomp.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Stomp&lt;/a&gt; clients which are really easy to use from JavaScript. Now, as more mobile users trying the same approach, we added support for very efficient binary &lt;a href=&#34;http://mqtt.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;MQTT protocol&lt;/a&gt; to the mix for upcoming &lt;strong&gt;5.9.0&lt;/strong&gt; version.&lt;/p&gt;&#xA;&lt;p&gt;The good thing is that you really don&amp;rsquo;t have to change anything on the broker side to support it. Both Stomp and MQTT can work over the same connector, as clients identify the protocol they want to use when they initialize the connection. We also provided a nice little demo using &lt;a href=&#34;http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.javascript.git/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Eclipse Paho JavaScript client&lt;/a&gt;. You can play with the demo if you start the broker with &lt;code&gt;activemq-demo.xml&lt;/code&gt; config like&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Apache ActiveMQ 5.7.0 released</title>
      <link>/posts/2012-10-08-apache-activemq-5-7-0-released/</link>
      <pubDate>Mon, 08 Oct 2012 00:00:00 +0000</pubDate>
      
      <guid>/posts/2012-10-08-apache-activemq-5-7-0-released/</guid>
      <description>&lt;p&gt;We managed to keep our goal of making more frequent releases and today we&amp;rsquo;re happy to announce &lt;a href=&#34;http://activemq.apache.org/activemq-570-release.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Apache ActiveMQ 5.7.0&lt;/a&gt;. The main goal of this release was Java 7 compatibility. The project is built using JDK 6, but it&amp;rsquo;s tested to work properly with Java 7. This was needed as we now use &lt;a href=&#34;http://camel.apache.org/camel-2100-release.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Camel 2.10&lt;/a&gt;, which also added support for Java 7.&lt;/p&gt;&#xA;&lt;p&gt;Besides this, there&amp;rsquo;s a couple of new features and close to two hundred bug fixes in this release. Some of the prominent new features are:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Pluggable ActiveMQ Storage Lockers</title>
      <link>/posts/2012-09-13-pluggable-activemq-storage-lockers/</link>
      <pubDate>Thu, 13 Sep 2012 00:00:00 +0000</pubDate>
      
      <guid>/posts/2012-09-13-pluggable-activemq-storage-lockers/</guid>
      <description>&lt;p&gt;Shared storage master slave broker topologies depend on successful storage locking. Meaning that only a single broker (the master) is active and use the message database. So far locking was tied to a specific message store, so KahaDB was using shared file locking while JDBC store was using a specialized database table to keep slaves from starting. This work fine for the most use cases, but sometimes folks need to use a custom locker (like when the standard file locking doesn&amp;rsquo;t work on their NFS) or tune existing solutions.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Messaging Anti-Patterns: Part 3</title>
      <link>/posts/2012-09-05-messaging-anti-patterns-part-3/</link>
      <pubDate>Wed, 05 Sep 2012 00:00:00 +0000</pubDate>
      
      <guid>/posts/2012-09-05-messaging-anti-patterns-part-3/</guid>
      <description>&lt;p&gt;OK, after basic anti-patterns discussed in &lt;a href=&#34;/posts/2012-07-31-messaging-anti-patterns-part-1/&#34; &gt;part 1&lt;/a&gt; and &lt;a href=&#34;/posts/2012-08-17-messaging-anti-patterns-part-2/&#34; &gt;2&lt;/a&gt; of this series, it&amp;rsquo;s time to discuss a bit more sophisticated messaging anti-patterns and how to write better messaging-oriented applications.&lt;/p&gt;&#xA;&#xA;&lt;h1 class=&#34;relative group&#34;&gt;Using appropriate message type&#xA;    &lt;div id=&#34;using-appropriate-message-type&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#using-appropriate-message-type&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h1&gt;&#xA;&lt;p&gt;So let&amp;rsquo;s start with the first principles of messaging. Why we want to use a message broker in our architecture? The most probable answer is to exchange &lt;strong&gt;data&lt;/strong&gt; in &lt;strong&gt;asynchronous&lt;/strong&gt; and &lt;strong&gt;lously-coupled&lt;/strong&gt; way between our systems. In that terms we should see how our data are best represented in terms of messages. JMS specification defines a few types of message types to be used which I&amp;rsquo;d classify in two groups. In the first group I&amp;rsquo;ll put &lt;code&gt;TextMessages&lt;/code&gt; and &lt;code&gt;ByteMessages&lt;/code&gt; which provides a kind of a plain-sheet in terms of what kind of data is carried in the message body. I think that you should strongly consider using only these message types as they provide a framework for loosely-coupled data exchange without introducing unnecessary complexity. Let&amp;rsquo;s cover briefly other message types and discuss what they bring to the picture:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Messaging Anti-Patterns: Part 2</title>
      <link>/posts/2012-08-17-messaging-anti-patterns-part-2/</link>
      <pubDate>Fri, 17 Aug 2012 00:00:00 +0000</pubDate>
      
      <guid>/posts/2012-08-17-messaging-anti-patterns-part-2/</guid>
      <description>&lt;p&gt;OK, now that you promised that you won&amp;rsquo;t &lt;strong&gt;store&lt;/strong&gt; your messages in the broker (&lt;a href=&#34;/posts/2012-07-31-messaging-anti-patterns-part-1/&#34; &gt;see part one of this post series&lt;/a&gt;), let&amp;rsquo;s consider one more thing that you should avoid when dealing with messaging systems.&lt;/p&gt;&#xA;&#xA;&lt;h1 class=&#34;relative group&#34;&gt;Short-lived connections&#xA;    &lt;div id=&#34;short-lived-connections&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#short-lived-connections&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h1&gt;&#xA;&lt;p&gt;One thing that reoccur regularly is folks (knowingly or unknowingly) creating and tearing connections to the broker for every message they produce and consume.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Messaging Anti-Patterns: Part 1</title>
      <link>/posts/2012-07-31-messaging-anti-patterns-part-1/</link>
      <pubDate>Tue, 31 Jul 2012 00:00:00 +0000</pubDate>
      
      <guid>/posts/2012-07-31-messaging-anti-patterns-part-1/</guid>
      <description>&lt;p&gt;If you have a hammer everything looks like a nail, right? So we all witnessed that people sometimes try to solve the problem with wrong technology. Heck we probably all did it at one point or another. Common reasons are familiarity with an exiting technology stack we have at hand or perception that some of the features will justify it all. But using any technology in a way it&amp;rsquo;s not designed for, will lead to all kind of problems and you&amp;rsquo;ll eventually be forced to do it properly (probably cursing at the project in question because it hasn&amp;rsquo;t met you wrong expectations).&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ 5.6.0 and other news</title>
      <link>/posts/2012-05-08-activemq-560-and-other-news/</link>
      <pubDate>Tue, 08 May 2012 00:00:00 +0000</pubDate>
      
      <guid>/posts/2012-05-08-activemq-560-and-other-news/</guid>
      <description>&lt;p&gt;We just released Apache ActiveMQ 5.6.0. It was a long-awaited maintenance release, but however there are a few very significant new features that was worth waiting for. Those include a new &lt;a href=&#34;https://github.com/fusesource/fuse-extra/tree/master/fusemq-leveldb&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;LevelDB store&lt;/a&gt;, MQTT and Stomp 1.1 protocols support and self-balancing cluster clients, to name a few. I already written about clustering &lt;a href=&#34;http://www.nighttale.net/activemq/new-activemq-failover-and-clustering-goodies.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;here&lt;/a&gt; and there sure will be a lot of things to write about these other features as well in coming days.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ in the cloud</title>
      <link>/posts/2012-04-10-activemq-in-cloud/</link>
      <pubDate>Tue, 10 Apr 2012 00:00:00 +0000</pubDate>
      
      <guid>/posts/2012-04-10-activemq-in-cloud/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://fusesource.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;FuseSource&lt;/a&gt; just announced a public beta of new Enterprise products (&lt;a href=&#34;http://rajdavies.blogspot.com/2012/04/beta-release-of-fusesource-enteprise.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Read more about it in Rob&amp;rsquo;s post&lt;/a&gt;). So it&amp;rsquo;s time to give you a bit more details on what we were working on for the past few months. One thing I want to emphasize in this post is how this project improves the experience of deploying and managing ActiveMQ brokers. &lt;a href=&#34;http://fuse.fusesource.org/fabric/index&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Fuse Fabric&lt;/a&gt; (the central engine behind Fuse Enterprise) can help you provision and manage your brokers better and additionally help with cloud deployments.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>New ActiveMQ failover and clustering goodies</title>
      <link>/posts/2012-02-14-new-activemq-failover-and-clustering-goodies/</link>
      <pubDate>Tue, 14 Feb 2012 00:00:00 +0000</pubDate>
      
      <guid>/posts/2012-02-14-new-activemq-failover-and-clustering-goodies/</guid>
      <description>&lt;p&gt;For the last two weeks I&amp;rsquo;ve been working on some interesting use cases for the good ol&amp;rsquo; failover transport. I finally have some time at my hands, so here&amp;rsquo;s a brief recap of what&amp;rsquo;s coming in 5.6 release in this area.&lt;/p&gt;&#xA;&lt;p&gt;First there&amp;rsquo;s a new feature, called &lt;em&gt;Priority Backup&lt;/em&gt;. It&amp;rsquo;s described in details &lt;a href=&#34;http://activemq.apache.org/failover-transport-reference.html#FailoverTransportReference-PriorityBackup&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;here&lt;/a&gt;, but in a nutshell it provides you with the mechanism of prioritizing your failover urls and keep your clients connected to them as soon as they are available. The most obvious use case for this is to keep your clients connected to the broker in local data center whenever you can. By doing this, you can both have better performances and stability of your clients, but also save on your bandwidth bills.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ networks and advisory messages explained</title>
      <link>/posts/2011-12-21-activemq-networks-and-advisory-messages-explained/</link>
      <pubDate>Wed, 21 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>/posts/2011-12-21-activemq-networks-and-advisory-messages-explained/</guid>
      <description>&lt;p&gt;Recently &lt;a href=&#34;http://www.jakubkorab.net/2011/11/understanding-activemq-broker-networks.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Jakub wrote an excellent blog post&lt;/a&gt; explaining more on how ActiveMQ networks work. The one thing that somehow always got unexplained and confused users over time is the connection between network of brokers and advisory messages. I finally took some time to document it and introduce some enhancements we have in this area for the upcoming 5.6 broker release. &lt;a href=&#34;http://activemq.apache.org/networks-of-brokers.html#NetworksofBrokers-Networksofbrokersandadvisories&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Read more here&lt;/a&gt; on how network connectors use advisory messages and how you can tune all that in complex and high load environments.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Advanced messaging with Apache ActiveMQ slides</title>
      <link>/posts/2011-05-23-advanced-messaging-with-apache-activemq-slides/</link>
      <pubDate>Mon, 23 May 2011 00:00:00 +0000</pubDate>
      
      <guid>/posts/2011-05-23-advanced-messaging-with-apache-activemq-slides/</guid>
      <description>&lt;p&gt;Slides are available at slideshare now:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;http://www.slideshare.net/dejanb/advanced-messaging-with-apache-activemq&#34; title=&#34;Advanced messaging with Apache ActiveMQ&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Advanced messaging with Apache ActiveMQ&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;iframe src=&#34;http://www.slideshare.net/slideshow/embed_code/8069475&#34; width=&#34;425&#34; height=&#34;355&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;&#xA;&lt;p&gt;View more &lt;a href=&#34;http://www.slideshare.net/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;presentations&lt;/a&gt; from &lt;a href=&#34;http://www.slideshare.net/dejanb&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;dejanb&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Just arrived!</title>
      <link>/posts/2011-03-28-just-arrived/</link>
      <pubDate>Mon, 28 Mar 2011 00:00:00 +0000</pubDate>
      
      <guid>/posts/2011-03-28-just-arrived/</guid>
      <description>&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;books&#34;&#xA;    src=&#34;http://www.nighttale.net/Images/books.jpg&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ in Action released</title>
      <link>/posts/2011-03-21-activemq-in-action-released/</link>
      <pubDate>Mon, 21 Mar 2011 00:00:00 +0000</pubDate>
      
      <guid>/posts/2011-03-21-activemq-in-action-released/</guid>
      <description>&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;cover&#34;&#xA;    src=&#34;http://www.nighttale.net/Images/amqina.jpg&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;Book projects always (at least for me) takes quite longer to finish than you anticipate at the beginning. But unlike everything we do in software development, when it is finally finished, you get the real physical thing you can hold in your hands. And that&amp;rsquo;s always a great feeling.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m happy to announce that &lt;a href=&#34;http://manning.com/snyder/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ActiveMQ in Action&lt;/a&gt; is released. You can already get final eBook, while the print version will hit the shelfs on March 24th.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ 5.5: Audit Logging</title>
      <link>/posts/2011-01-20-activemq-55-audit-logging/</link>
      <pubDate>Thu, 20 Jan 2011 00:00:00 +0000</pubDate>
      
      <guid>/posts/2011-01-20-activemq-55-audit-logging/</guid>
      <description>&lt;p&gt;The PCI DSS (Payment Card Industry (PCI) Data Security Standard) v2.0, specifies that all user actions must be audited, so they can be inspected later if needed. To be deployable in such environments, we added audit logging to ActiveMQ. In this &lt;a href=&#34;http://activemq.apache.org/audit-logging.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;article&lt;/a&gt; you can find the basics on how to configure and use it. Here, I&amp;rsquo;d like to expand the topic a bit and talk about add-ons you can find in &lt;a href=&#34;http://fusesource.com/products/enterprise-activemq/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Fuse Message Broker&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>How to monitor ActiveMQ networks</title>
      <link>/posts/2011-01-05-how-to-monitor-activemq-networks/</link>
      <pubDate>Wed, 05 Jan 2011 00:00:00 +0000</pubDate>
      
      <guid>/posts/2011-01-05-how-to-monitor-activemq-networks/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re running ActiveMQ in a distributed setup using &lt;a href=&#34;http://activemq.apache.org/networks-of-brokers.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;network of brokers&lt;/a&gt;, you&amp;rsquo;re probably interested in techniques available to monitor your network. This usually implies viewing the status of the network bridges and generating events when the status changes. There were some improvements in this area for the next 5.5 release and here I&amp;rsquo;ll try to explain this topic a bit more.&lt;/p&gt;&#xA;&lt;p&gt;To demonstrate these techniques we need a simple network, so take a look at the one shown in the following diagram.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ in Action in Production</title>
      <link>/posts/2010-10-28-activemq-in-action-in-production/</link>
      <pubDate>Thu, 28 Oct 2010 00:00:00 +0000</pubDate>
      
      <guid>/posts/2010-10-28-activemq-in-action-in-production/</guid>
      <description>&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;cover&#34;&#xA;    src=&#34;http://www.nighttale.net/Images/amqina.jpg&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;It&amp;rsquo;s always a good feeling when the book project goes into the production, and that&amp;rsquo;s what happened to &lt;strong&gt;ActiveMQ in Action&lt;/strong&gt; this week.&lt;/p&gt;&#xA;&lt;p&gt;If you already bought &lt;a href=&#34;http://manning.com/snyder/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;MEAP access plus printed version of the book&lt;/a&gt;, you can expect your printed version in the next few months. If not, it&amp;rsquo;s still not too late as we&amp;rsquo;re offering 40% discount to celebrate going into the production. Just use &lt;strong&gt;activemq40&lt;/strong&gt; coupon code at the time of checkout.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ 5.4.1: Encrypted passwords</title>
      <link>/posts/2010-09-03-activemq-541-encrypted-passwords/</link>
      <pubDate>Fri, 03 Sep 2010 00:00:00 +0000</pubDate>
      
      <guid>/posts/2010-09-03-activemq-541-encrypted-passwords/</guid>
      <description>&lt;p&gt;While configuring ActiveMQ for a production use, you usually need to store passwords in your configuration files. Passwords are usually needed for:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Simple authentication plugin&lt;/li&gt;&#xA;&lt;li&gt;JDBC/LDAP passwords&lt;/li&gt;&#xA;&lt;li&gt;Accessing secured brokers by Web Console, Camel, etc&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Naturally, people don&amp;rsquo;t want to keep plain passwords in the configuration files. ActiveMQ 5.4.1 comes with a solution for that. Thanks to the integration with &lt;a href=&#34;http://www.jasypt.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Jasypt&lt;/a&gt; library, your passwords can be now stored encrypted.&lt;/p&gt;&#xA;&lt;p&gt;For a full description of this new feature see &lt;a href=&#34;http://activemq.apache.org/encrypted-passwords.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http://activemq.apache.org/encrypted-passwords.html&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>What&#39;s new in Apache ActiveMQ 5.4.0</title>
      <link>/posts/2010-08-17-whats-new-in-apache-activemq-540/</link>
      <pubDate>Tue, 17 Aug 2010 00:00:00 +0000</pubDate>
      
      <guid>/posts/2010-08-17-whats-new-in-apache-activemq-540/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://activemq.apache.org/activemq-540-release.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Apache ActiveMQ 5.4.0&lt;/a&gt; is out. Beside our usual dedication to making it bullet-proof by adding a lot of test cases and resolving issues reported by our vibrant community, this release contains a lot of new features (some of which has already been covered here). In this post I&amp;rsquo;ll try to sum up the new features that we included in this release. As the development pace was very rapid, some of them haven&amp;rsquo;t been documented yet, but that&amp;rsquo;ll change soon too. So let&amp;rsquo;s start:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Fast producer failover with ActiveMQ</title>
      <link>/posts/2010-08-16-fast-producer-failover-with-activemq/</link>
      <pubDate>Mon, 16 Aug 2010 00:00:00 +0000</pubDate>
      
      <guid>/posts/2010-08-16-fast-producer-failover-with-activemq/</guid>
      <description>&lt;p&gt;When you&amp;rsquo;re sending messages to a cluster of ActiveMQ brokers using failover protocol and the current broker dies, the transport will try to connect and send messages to the next one. If that one is unavailable it will try next and so on and so on. So what happens when all brokers in the cluster are down? You&amp;rsquo;ll get the feeling that send call is hanging. At least until one of the brokers gets up again.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ 5.4: Seamless OSGi Integration</title>
      <link>/posts/2010-08-02-activemq-54-seamless-osgi-integration/</link>
      <pubDate>Mon, 02 Aug 2010 00:00:00 +0000</pubDate>
      
      <guid>/posts/2010-08-02-activemq-54-seamless-osgi-integration/</guid>
      <description>&lt;p&gt;For upcoming ActiveMQ 5.4.0 release we did a lot of work to make it a better citizen in OSGi land. Let&amp;rsquo;s walk through some of the stuff you can do now. First of all download and install recently released &lt;a href=&#34;http://karaf.apache.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Apache Karaf 2.0.0&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Now if you want to play with all these stuff before the ActiveMQ 5.4.0 is officially released, you need to edit&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;${KARAF_HOME}/etc/org.ops4j.pax.url.mvn.cfg&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;and add&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://repository.apache.org/content/repositories/snapshots/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;to the list of available repositories.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Securing ActiveMQ 5.3.1 console</title>
      <link>/posts/2010-05-21-securing-activemq-531-console/</link>
      <pubDate>Fri, 21 May 2010 00:00:00 +0000</pubDate>
      
      <guid>/posts/2010-05-21-securing-activemq-531-console/</guid>
      <description>&lt;p&gt;In many environments, users want to restrict access to ActiveMQ web server (Jetty) and web console application in particular. Here&amp;rsquo;s how to do it for ActiveMQ 5.3.1 version of broker.&lt;/p&gt;&#xA;&lt;p&gt;In 5.3.1, the whole web server configuration is placed in the &lt;code&gt;${ACTIVEMQ_HOME}/conf/jetty.xml&lt;/code&gt; file. The configuration file you can find at &lt;a href=&#34;http://github.com/dejanb/activemq-util/blob/master/config/5.3.1/jetty/jetty.xml&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;here&lt;/a&gt; is a drop-in replacement for a default jetty configuration and you should place it in your configuration folder.&lt;/p&gt;&#xA;&lt;p&gt;Besides that you&amp;rsquo;ll need to create a &lt;code&gt;${ACTIVEMQ_HOME}/conf/jetty-realm.properties&lt;/code&gt; with the following content:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ 5.3.1 Released</title>
      <link>/posts/2010-03-23-activemq-531-released/</link>
      <pubDate>Tue, 23 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>/posts/2010-03-23-activemq-531-released/</guid>
      <description>&lt;p&gt;Apache ActiveMQ 5.3.1 has just been released. It&amp;rsquo;s primarily the maintenance release, including nearly 100 bug fixes and improvements over the previous 5.3.0 version. The full list of improvements and bug fixes, as well as the download link, can be found at the &lt;a href=&#34;http://activemq.apache.org/activemq-531-release.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;release page&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;JDBC message store&lt;/strong&gt; - a big effort has been made to make JDBC store as reliable as other file-based stores for use in complex high-load use cases.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;nio&lt;/code&gt; and &lt;code&gt;stomp+nio&lt;/code&gt; transports&lt;/strong&gt; - initial implementation of &lt;code&gt;stomp+nio&lt;/code&gt; transport, introduced in 5.3.0 version contained some resource leaks, but also revealed some problems with the &lt;code&gt;nio&lt;/code&gt; transport. All these are now fixed, thoroughly tested and ready for production use&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;OSGi integration&lt;/strong&gt; - a lot of small improvements in this area should provide much better integration of the broker in OSGi environments. Especially, we provided resources for seamless deployment in &lt;a href=&#34;http://felix.apache.org/site/apache-felix-karaf.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Apache Karaf&lt;/a&gt; OSGi runtime. This will be the topic of the following blog post (so stay tuned!)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Web console security&lt;/strong&gt; - Web console is now secured against XSS and XSRF attacks, so it&amp;rsquo;s safe to be deployed publicly (of course with proper authentication set in place)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Enjoy this release, while we work on delivering 5.4.0 in coming months (or even weeks) with more bug fixes and features, such as &lt;a href=&#34;http://rajdavies.blogspot.com/2010/02/activemq-54-jms-timer-and-cron.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;scheduled messages&lt;/a&gt; and &lt;a href=&#34;http://www.nighttale.net/activemq/activemq-54-stomp-over-web-sockets.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;web socket support&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ 5.4: Stomp over Web Sockets</title>
      <link>/posts/2010-02-22-activemq-54-stomp-over-web-sockets/</link>
      <pubDate>Mon, 22 Feb 2010 00:00:00 +0000</pubDate>
      
      <guid>/posts/2010-02-22-activemq-54-stomp-over-web-sockets/</guid>
      <description>&lt;p&gt;Exchanging messages with the broker directly from the web browser was always interesting use case (and used by many developers). That&amp;rsquo;s why ActiveMQ was supporting &lt;a href=&#34;http://activemq.apache.org/ajax.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Ajax API&lt;/a&gt; for the long time. It uses &lt;a href=&#34;http://wiki.eclipse.org/Jetty/Feature/Continuations&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Jetty Continuations&lt;/a&gt; to implement threadless waiting and asynchronous delivery of messages to the web page.&lt;/p&gt;&#xA;&lt;p&gt;HTML 5 introduced web sockets, as a standardized way to communicate asynchronously with the server from a web page. This is practically an ideal channel for implementing asynchronous messaging for web pages, so it&amp;rsquo;s no surprise we had it on a todo list for a long time. Also, since JavaScript easily handles text and JSON formatted data, &lt;a href=&#34;http://activemq.apache.org/stomp/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Stomp protocol&lt;/a&gt; is a natural choice for the wire protocol to be used over web sockets.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ producer flow control with timeout</title>
      <link>/posts/2010-01-29-activemq-producer-flow-control-with-timeout/</link>
      <pubDate>Fri, 29 Jan 2010 00:00:00 +0000</pubDate>
      
      <guid>/posts/2010-01-29-activemq-producer-flow-control-with-timeout/</guid>
      <description>&lt;p&gt;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 &lt;code&gt;send()&lt;/code&gt; method will either wait until space becomes available, or fail if it&amp;rsquo;s configured through &lt;code&gt;sendFailIfNoSpace&lt;/code&gt; property, like this:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;systemUsage&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &amp;lt;systemUsage sendFailIfNoSpace=&amp;#34;true&amp;#34;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &amp;lt;memoryUsage&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     &amp;lt;memoryUsage limit=&amp;#34;20 mb&amp;#34;/&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &amp;lt;/memoryUsage&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &amp;lt;/systemUsage&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;/systemUsage&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;For 5.3.1 version of the broker we added a third option. You can now configure the broker to do the producer flow control with timeout. If you configure &lt;code&gt;&amp;lt;systemUsage&amp;gt;&lt;/code&gt; like this (using &lt;code&gt;sendFailIfNoSpaceAfterTimeout&lt;/code&gt; property),&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Handling IOException in ActiveMQ</title>
      <link>/posts/2009-11-20-handling-ioexception-in-activemq/</link>
      <pubDate>Fri, 20 Nov 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-11-20-handling-ioexception-in-activemq/</guid>
      <description>&lt;p&gt;When you encounter IOException trying to persist a message on the disk, you know something has gone wrong. One of two things usually happen:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Either your disk is dead, or disconnected in case you use network disks&lt;/li&gt;&#xA;&lt;li&gt;Or you just don&amp;rsquo;t have more space on the disk&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Depending on the type of the exception you may encounter, you might want to take a different action. For upcoming 5.3.1 release we implemented fully configurable IOException handling which can be tuned to your need.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Fuse Stomp project</title>
      <link>/posts/2009-10-29-fuse-stomp-project/</link>
      <pubDate>Thu, 29 Oct 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-10-29-fuse-stomp-project/</guid>
      <description>&lt;p&gt;In our attempt to provide better future for Stomp protocol, we already &lt;a href=&#34;http://www.nighttale.net/stomp/stomp-future.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;moved specification under ActiveMQ project umbrella&lt;/a&gt;, 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 &lt;a href=&#34;http://stomp.fusesource.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Stomp project on FUSE Forge&lt;/a&gt;. It should provide a project hosting environment for various Stomp clients.&lt;/p&gt;&#xA;&lt;p&gt;For starters I released &lt;a href=&#34;http://stomp.fusesource.org/documentation/php/index.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;PHP Stomp Client 1.0.0&lt;/a&gt;. It&amp;rsquo;s a natural extension of all the work previously hosted on &lt;a href=&#34;http://stomp.codehaus.org/php&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Codehaus + Google Code&lt;/a&gt;. It is now stabilized, with a lot of bug fixes and released as 1.0.0. All future development will be continued on the FUSE Forge as it provides much better hosting environment than we used thus far.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Python messaging: ActiveMQ and RabbitMQ</title>
      <link>/posts/2009-10-20-python-messaging-activemq-and-rabbitmq/</link>
      <pubDate>Tue, 20 Oct 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-10-20-python-messaging-activemq-and-rabbitmq/</guid>
      <description>&lt;p&gt;I found myself recently with a task of testing various Python messaging clients. In this article I&amp;rsquo;ll present my findings regarding performance and scalability on two Python clients connecting to &lt;a href=&#34;http://activemq.apache.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ActiveMQ&lt;/a&gt; and &lt;a href=&#34;http://www.rabbitmq.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;RabbitMQ&lt;/a&gt; message brokers.&lt;/p&gt;&#xA;&lt;p&gt;For ActiveMQ Python client, I used &lt;a href=&#34;http://code.google.com/p/pyactivemq/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;pyactivemq&lt;/a&gt; library version 0.1.0. It&amp;rsquo;s basically a Python wrapper for &lt;a href=&#34;http://activemq.apache.org/cms/index.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ActiveMQ-CPP&lt;/a&gt; library, allowing Python clients to communicate with the broker using both &lt;a href=&#34;http://activemq.apache.org/openwire.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;OpenWire&lt;/a&gt; (ActiveMQ specific binary protocol) and &lt;a href=&#34;http://activemq.apache.org/stomp/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Stomp&lt;/a&gt; (Simple text-oriented protocol) protocols. Since it uses ActiveMQ-CPP, installation requires special attention and some of those details you can find in a related &lt;a href=&#34;http://www.nighttale.net/activemq/pyactivemq-on-ubuntu.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;blog post&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Apache ActiveMQ 5.3.0 Released</title>
      <link>/posts/2009-10-13-apache-activemq-530-release/</link>
      <pubDate>Tue, 13 Oct 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-10-13-apache-activemq-530-release/</guid>
      <description>&lt;p&gt;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 &lt;a href=&#34;http://activemq.apache.org/activemq-530-release.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;the release page&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Here, I would like to emphasize just some of the new features:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;New KahaDB persisten store, which improves recovery times and scalability in a great deal&lt;/li&gt;&#xA;&lt;li&gt;A default configuration now focused more on production then demoing all features. You can also find some useful configuration examples for different scenarios, like vertical scaling or throughput&lt;/li&gt;&#xA;&lt;li&gt;Camel 2.0.0 integrated along with it&amp;rsquo;s web console for managing endpoints and routes&lt;/li&gt;&#xA;&lt;li&gt;&amp;hellip; and much, much more&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;You can expect more useful resources on ActiveMQ 5.3.0 in coming days.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Wire format negotiation timeout and log4j jms appender FAQs</title>
      <link>/posts/2009-08-11-wire-format-negotiation-timeout-log4j-jms-appender-and/</link>
      <pubDate>Tue, 11 Aug 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-08-11-wire-format-negotiation-timeout-log4j-jms-appender-and/</guid>
      <description>&lt;p&gt;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:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://activemq.apache.org/how-do-i-use-log4j-jms-appender-with-activemq.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Using log4j appender with ActiveMQ&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://activemq.apache.org/javaxjmsjmsexception-wire-format-negociation-timeout-peer-did-not-send-his-wire-format.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Wire format negotiation timeout exception&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Enjoy&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Stomp Future</title>
      <link>/posts/2009-07-21-stomp-future/</link>
      <pubDate>Tue, 21 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-07-21-stomp-future/</guid>
      <description>&lt;p&gt;While thinking about the future of Stomp protocol, we concluded that the best place for future maintenance of the specification is under umbrella of &lt;a href=&#34;http://activemq.apache.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ActiveMQ&lt;/a&gt; project. There are a couple reasons for this, but it basically boils down to two facts:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Apache infrastructure is much better suited for this task than the one currently used at Codehaus&lt;/li&gt;&#xA;&lt;li&gt;Most of the Stomp contributors are also ActiveMQ committers, so this transition feels natural in this respect.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As a starting point, we created an ActiveMQ sub-project &lt;a href=&#34;http://activemq.apache.org/stomp/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http://activemq.apache.org/stomp/&lt;/a&gt; which will be the home of the all future work on the protocol. At the moment, we only ported information related to Stomp version 1.0 (specification and related articles) to this new project. Soon, we&amp;rsquo;ll start working on protocol specification version 1.1, using the current &lt;a href=&#34;http://stomp.codehaus.org/Stomp&amp;#43;v1.1&amp;#43;Ideas&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;idea pool&lt;/a&gt; as a base.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>pyactivemq on Ubuntu</title>
      <link>/posts/2009-07-07-pyactivemq-on-ubuntu/</link>
      <pubDate>Tue, 07 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-07-07-pyactivemq-on-ubuntu/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://code.google.com/p/pyactivemq/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;pyactivemq&lt;/a&gt; is a Python library that enables Python clients to communicate with &lt;a href=&#34;http://activemq.apache.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ActiveMQ&lt;/a&gt; using both OpenWire and Stomp protocols. To do that it wraps &lt;a href=&#34;http://activemq.apache.org/cms/index.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ActiveMQ-CPP&lt;/a&gt; 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 to make it all work on Ubuntu box. I&amp;rsquo;ll post it here for my future reference and hopefully it can be useful to other folks.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ in Action MEAP update</title>
      <link>/posts/2009-06-12-activemq-in-action-meap-update/</link>
      <pubDate>Fri, 12 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-06-12-activemq-in-action-meap-update/</guid>
      <description>&lt;p&gt;There are new chapters available on &lt;em&gt;ActiveMQ in Action&lt;/em&gt; book in &lt;a href=&#34;http://www.manning.com/snyder/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Manning Early Access Program (MEAP)&lt;/a&gt;. This time you can read:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Chapter 12 - Tuning ActiveMQ for performance&lt;/em&gt; - gives detailed explanation on various techniques you can use to improve your brokers&amp;rsquo; performances&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Chapter 14 - Administering and managing ActiveMQ&lt;/em&gt; - explains how to monitor your broker using JMX, advisory messages and such&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Enjoy reading!&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Fuse Message Broker 5.0.0.28 released</title>
      <link>/posts/2009-06-12-fuse-message-broker-50028-released/</link>
      <pubDate>Fri, 12 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-06-12-fuse-message-broker-50028-released/</guid>
      <description>&lt;p&gt;Another month, another &lt;a href=&#34;http://fusesource.com/wiki/display/ProdInfo/FUSE&amp;#43;Message&amp;#43;Broker&amp;#43;v5.0&amp;#43;Release&amp;#43;Notes&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Fuse message broker 5.0 branch update&lt;/a&gt;. This time, it comes with HTTP transport and a message consumer improvements.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ OSGi integration</title>
      <link>/posts/2009-06-10-activemq-osgi-integration/</link>
      <pubDate>Wed, 10 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-06-10-activemq-osgi-integration/</guid>
      <description>&lt;p&gt;OSGi containers are becoming a deployment platform of choice for many developers these days. That&amp;rsquo;s why nearly all server-side Java software is packaged as OSGi bundles and ActiveMQ is not an exception. I wrote &lt;a href=&#34;http://activemq.apache.org/osgi-integration.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;an article&lt;/a&gt; that goes into the details on how to deploy and use ActiveMQ broker and web console in &lt;a href=&#34;http://felix.apache.org/site/apache-felix-karaf.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Apache Karaf&lt;/a&gt; (and &lt;a href=&#34;http://servicemix.apache.org/home.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ServiceMix&lt;/a&gt;) OSGi environments. I hope you&amp;rsquo;ll enjoy reading it.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Fuse Message Broker 5.3.0.2 released</title>
      <link>/posts/2009-06-01-fuse-message-broker-5302-released/</link>
      <pubDate>Mon, 01 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-06-01-fuse-message-broker-5302-released/</guid>
      <description>&lt;p&gt;We&amp;rsquo;ve cut and thoroughly tested another &lt;a href=&#34;http://fusesource.com/products/enterprise-activemq/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Fuse Message Broker&lt;/a&gt; 5.3 release. If you need a stable 5.3 ActiveMQ version, try it out. You can find more info about this release &lt;a href=&#34;http://fusesource.com/wiki/display/ProdInfo/FUSE&amp;#43;Message&amp;#43;Broker&amp;#43;v5.3&amp;#43;Release&amp;#43;Notes&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Fuse Message Broker 5.0.0.27 released</title>
      <link>/posts/2009-05-19-fuse-message-broker-50027-released/</link>
      <pubDate>Tue, 19 May 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-05-19-fuse-message-broker-50027-released/</guid>
      <description>&lt;p&gt;Another incremental improvement of the ActiveMQ 5.0 branch. Check &lt;a href=&#34;http://fusesource.com/wiki/display/ProdInfo/FUSE&amp;#43;Message&amp;#43;Broker&amp;#43;v5.0&amp;#43;Release&amp;#43;Notes&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;release notes&lt;/a&gt; for more details.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Fuse Message Broker 5.3.0.1 released</title>
      <link>/posts/2009-04-23-fuse-message-broker-5301-released/</link>
      <pubDate>Thu, 23 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-04-23-fuse-message-broker-5301-released/</guid>
      <description>&lt;p&gt;While waiting for Apache ActiveMQ 5.3, you can try our latest cut of &lt;a href=&#34;http://fusesource.com/products/enterprise-activemq/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Fuse Message Broker 5.3.0.1&lt;/a&gt;. A lot of issues are &lt;a href=&#34;http://fusesource.com/wiki/display/ProdInfo/FUSE&amp;#43;Message&amp;#43;Broker&amp;#43;v5.3&amp;#43;Release&amp;#43;Notes&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;already merged&lt;/a&gt; and thoroughly tested. Also, it very easy to do a switch back and forth (take a look at &lt;a href=&#34;http://www.nighttale.net/activemq/fuse-message-broker-5202-released.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;this article&lt;/a&gt; for more details).&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ continuos intergration</title>
      <link>/posts/2009-04-17-activemq-continuos-intergration/</link>
      <pubDate>Fri, 17 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-04-17-activemq-continuos-intergration/</guid>
      <description>&lt;p&gt;ActiveMQ has been added to &lt;a href=&#34;http://hudson.dev.java.net/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Hudson continuous-integration server&lt;/a&gt; instance at Apache &lt;a href=&#34;http://hudson.zones.apache.org/hudson/job/ActiveMQ/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http://hudson.zones.apache.org/hudson/job/ActiveMQ/&lt;/a&gt;. Now you can have more insight into test runs and snapshot builds. Hudson will also send failure reports to our dev mailing list, making us address them promptly. As a part of this change, the snapshots location and Maven repository has changed. If you&amp;rsquo;re using ActiveMQ snapshots in your projects, be sure to add the following repository to your Maven configuration:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Asynchronous messaging for web sites</title>
      <link>/posts/2009-04-07-asynchronous-messaging-for-web-sites/</link>
      <pubDate>Tue, 07 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-04-07-asynchronous-messaging-for-web-sites/</guid>
      <description>&lt;p&gt;Nice explanation of importance of asynchronous messaging by &lt;a href=&#34;http://www.dopplr.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Dooplr&lt;/a&gt; CTO &lt;a href=&#34;http://www.hackdiary.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Matt Biddulph&lt;/a&gt; at &lt;a href=&#34;http://2008.dconstruct.org/podcast/transcript-BiddulphJones.php&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;dConstruct 2008&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&lt;p&gt;And I am not going to any update, but I just want to say to every developer in the room that you need to be playing with asynchronous messaging right now on your servers. You need to grab Apache ActiveMQ or Beanstalk, or play with Amazon&amp;rsquo;s Simple Queue system. And start building a different sort of gearing into your website.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ in Action discount</title>
      <link>/posts/2009-03-11-activemq-in-action-discount/</link>
      <pubDate>Wed, 11 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-03-11-activemq-in-action-discount/</guid>
      <description>&lt;p&gt;If you were planning to buy &lt;a href=&#34;http://manning.com/snyder/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ActiveMQ in Action&lt;/a&gt; (ebook, print or both), you&amp;rsquo;re in luck. Until March 23rd, you can use coupon code &lt;strong&gt;activemq40&lt;/strong&gt; at Manning site and get 40% off the regular price.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Fuse Message Broker 5.0.0.26 released</title>
      <link>/posts/2009-02-25-fuse-message-broker-50026-released/</link>
      <pubDate>Wed, 25 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-02-25-fuse-message-broker-50026-released/</guid>
      <description>&lt;p&gt;Fuse Message Broker 5.0.0.26 is just released. It&amp;rsquo;s mostly a work towards better stability, but there is also a couple of important bug fixes (&lt;a href=&#34;http://fusesource.com/wiki/display/ProdInfo/FUSE&amp;#43;Message&amp;#43;Broker&amp;#43;v5.0&amp;#43;Release&amp;#43;Notes#FUSEMessageBrokerv5.0ReleaseNotes-ReleaseNotesFUSEMessageBrokerVersion5.0.0.26fuseFebruary25,2009&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;release notes&lt;/a&gt;). If you&amp;rsquo;re still on ActiveMQ 5.0 branch, be sure to give it a try.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Unacking messages with Stomp</title>
      <link>/posts/2009-02-17-unacking-messages-with-stomp/</link>
      <pubDate>Tue, 17 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-02-17-unacking-messages-with-stomp/</guid>
      <description>&lt;p&gt;Quite often people ask how to &amp;ldquo;unacknowledge&amp;rdquo; the message using Stomp. I wrote a brief FAQ entry (with an example):&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://activemq.apache.org/how-do-i-unack-the-message-with-stomp.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http://activemq.apache.org/how-do-i-unack-the-message-with-stomp.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Also, be sure to use 5.3-SNAPSHOT (or later), since there were some improvements in that area recently.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Fuse Message Broker 5.2.0.2 released</title>
      <link>/posts/2009-02-09-fuse-message-broker-5202-released/</link>
      <pubDate>Mon, 09 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-02-09-fuse-message-broker-5202-released/</guid>
      <description>&lt;p&gt;Fuse Message Broker 5.2.0.2 has just been released, with a couple of issues fixed. You can find release notes &lt;a href=&#34;http://fusesource.com/wiki/display/ProdInfo/FUSE&amp;#43;Message&amp;#43;Broker&amp;#43;v5.2&amp;#43;Release&amp;#43;Notes&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I would like to take this chance to explain &lt;a href=&#34;http://fusesource.com&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Fuse releases&lt;/a&gt; a bit and how you can easily switch between Apache and Fuse releases of ActiveMQ. Apache ActiveMQ and Fuse Message Broker are practically the same software (created from the same code base), but while you can expect Apache ActiveMQ releases every six months or so we try to have a monthly release cycle at Fuse. So, if you wait for version 5.3 to be released and you don&amp;rsquo;t want to use snapshot releases, you can use Fuse Message Broker releases 5.2.0.x which every month include a couple of new fixes. Fuse releases are thoroughly tested, so you can safely use it in your production environment.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>New chapters of ActiveMQ in Action are available online</title>
      <link>/posts/2009-02-05-new-chapters-of-activemq-in-action-are-available-online/</link>
      <pubDate>Thu, 05 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-02-05-new-chapters-of-activemq-in-action-are-available-online/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re looking for ActiveMQ documentation, you can try reading online chapters of &amp;ldquo;ActiveMQ in Action&amp;rdquo; using Manning Early Access Program (MEAP) - &lt;a href=&#34;http://www.manning.com/snyder/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;http://www.manning.com/snyder/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;New chapters has just been added:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Chapter 2 provides a detailed overview of ActiceMQ&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Chapter 4 explains ActiveMQs message persistence options&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Chapter 7 addresses the aspects related to providing messaging services to different platforms&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Chapter 12 explains performance tuning techniques&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I hope you&amp;rsquo;ll enjoy reading them.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Message groups just got a bit better</title>
      <link>/posts/2009-01-26-message-groups-just-got-a-bit-better/</link>
      <pubDate>Mon, 26 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-01-26-message-groups-just-got-a-bit-better/</guid>
      <description>&lt;p&gt;As the first sentence of the &lt;a href=&#34;http://activemq.apache.org/message-groups.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;message groups documentation page&lt;/a&gt; says: message groups rock. One of the problem with them, however, was an inappropriate behavior in case you&amp;rsquo;re adding your consumers for the messages already stored in the broker (with appropriate message group parameters set). This also causes that message groups are not honored in master slave environment, because when master goes down you can end up with your producer sending some messages to the slave before your consumers subscribe.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Sending over failover transport with timeout</title>
      <link>/posts/2009-01-12-sending-over-failover-transport-with-timeout/</link>
      <pubDate>Mon, 12 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>/posts/2009-01-12-sending-over-failover-transport-with-timeout/</guid>
      <description>&lt;p&gt;The failover transport proved to be useful for many use cases, but had one drawback. When no browsers are available, your send operation will hang. One of the ways to deal with this is to use TransportListener to detect and handle those cases.&lt;/p&gt;&#xA;&lt;p&gt;From 5.3 version onwards, you will be able to use new &lt;em&gt;timeout&lt;/em&gt; option on the protocol that should solve this problem naturally. So, if you use an URL like this:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Apache ActiveMQ 5.2</title>
      <link>/posts/2008-11-21-apache-activemq-52/</link>
      <pubDate>Fri, 21 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>/posts/2008-11-21-apache-activemq-52/</guid>
      <description>&lt;p&gt;Apache ActiveMQ 5.2 is finally released. It is mainly a maintenance release, but there are also a couple of new features, like extended Advisory support and such. If you use ActiveMQ, be sure to give &lt;a href=&#34;http://activemq.apache.org/activemq-520-release.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;this release&lt;/a&gt; a try.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Stomp v1.1 thoughts</title>
      <link>/posts/2008-09-23-stomp-v11-thoughts/</link>
      <pubDate>Tue, 23 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>/posts/2008-09-23-stomp-v11-thoughts/</guid>
      <description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Update: There is now a &lt;a href=&#34;http://stomp.codehaus.org/Stomp&amp;#43;v1.1&amp;#43;Ideas&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;wiki page on Stomp site&lt;/a&gt; for this, please go there if you are interested in Stomp v1.1&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;As discussed &lt;a href=&#34;https://issues.apache.org/activemq/browse/AMQ-1609&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;in this thread&lt;/a&gt; some time ago, there is a need to start working on Stomp version 1.1 protocol specification (and implementation), if nothing else then to support types for message properties. I would like to discuss some of the ideas regarding this, before I start working on it. So any thoughts and comment are more than welcomed.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>ActiveMQ in Action</title>
      <link>/posts/2008-08-08-activemq-in-action/</link>
      <pubDate>Fri, 08 Aug 2008 00:00:00 +0000</pubDate>
      
      <guid>/posts/2008-08-08-activemq-in-action/</guid>
      <description>&lt;p&gt;&lt;figure&gt;&lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;ActiveMQ in Action&#34;&#xA;    src=&#34;http://www.nighttale.net/Images/amqina.jpg&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;As &lt;a href=&#34;http://bsnyderblog.blogspot.com/2008/06/activemq-in-action-free-chapters.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Bruce&lt;/a&gt; and &lt;a href=&#34;http://rajdavies.blogspot.com/2008/08/early-access-to-activemq-in-action.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Rob&lt;/a&gt; already said, our current work on &lt;a href=&#34;http://manning.com/snyder/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&amp;ldquo;ActiveMQ in Action&amp;rdquo;&lt;/a&gt; book is available in &lt;a href=&#34;http://manning.com/snyder/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Manning Early Access Program (MEAP)&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We will try to cover all aspects of ActiveMQ, from basic stuff such as JMS basics and how to run ActiveMQ for the first time to complex broker topologies and performance tunning.&lt;/p&gt;&#xA;&lt;p&gt;I hope you&amp;rsquo;ll enjoy reading it.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Securing Stomp</title>
      <link>/posts/2007-12-25-securing-stomp/</link>
      <pubDate>Tue, 25 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>/posts/2007-12-25-securing-stomp/</guid>
      <description>&lt;p&gt;If you ever wanted to use &lt;a href=&#34;http://stomp.codehaus.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Stomp messaging protocol&lt;/a&gt; with secured &lt;a href=&#34;http://activemq.apache.org/security.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ActiveMQ broker&lt;/a&gt;, you can now &lt;a href=&#34;http://activemq.apache.org/stomp.html#Stomp-Security&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;do it&lt;/a&gt; by downloading a &lt;a href=&#34;http://people.apache.org/repo/m2-snapshot-repository/org/apache/activemq/apache-activemq/5.1-SNAPSHOT/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;5.1 snapshot distribution&lt;/a&gt;. For more Stomp messaging security over unsecured networks you can additionally use &lt;a href=&#34;http://activemq.apache.org/stomp.html#Stomp-EnablingStompoverSSL&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Stomp over SSL&lt;/a&gt;, which makes Stomp + ActiveMQ perfectly secure messaging environment over unsecured networks. If PHP is your environment of choice, the PHP Stomp client implements these &lt;a href=&#34;http://stomp.codehaus.org/PHP&amp;#43;Security&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;security mechanisms&lt;/a&gt; completely (including &lt;a href=&#34;http://stomp.codehaus.org/PHP&amp;#43;Connectivity#PHPConnectivity-SSL&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;SSL connectivity&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Happy Holidays.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>XStream and Spring OXM (Object/XML Mapping framework)</title>
      <link>/posts/2007-11-16-xstream-and-spring-oxm-objectxml-mapping-framework/</link>
      <pubDate>Fri, 16 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>/posts/2007-11-16-xstream-and-spring-oxm-objectxml-mapping-framework/</guid>
      <description>&lt;p&gt;It all started when I tried to find a solution for customizing an &lt;a href=&#34;http://xstream.codehaus.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;XStream&lt;/a&gt; instance for my &lt;a href=&#34;http://activemq.apache.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ActiveMQ&lt;/a&gt; XStream message transformer that would be better than currently used (extending a base transformer and providing a custom factory method that will do things like alias, converter, annotation, etc. settings). I wanted an easy solution to configure XStream instance in a Spring xml configuration file used in my application and provide that instance to all beans that need it (message transformer among others).&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Integrating ActiveMQ Web Console</title>
      <link>/posts/2007-06-07-integrating-activemq-web-console/</link>
      <pubDate>Thu, 07 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>/posts/2007-06-07-integrating-activemq-web-console/</guid>
      <description>&lt;p&gt;If you build an application that integrates &lt;a href=&#34;http://activemq.apache.org&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ActiveMQ&lt;/a&gt; broker, it makes sense that you want to integrate its &lt;a href=&#34;http://activemq.apache.org/web-console.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;web console&lt;/a&gt; as well. It provides your users with basic monitoring and management operations. One road you can take is to integrate it as a WAR archive, but as you already have a whole lot of ActiveMQ integrated, you probably want to include just necessary subset of libraries and files and always have most up to date version of it.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Scripting and asynchronous messaging</title>
      <link>/posts/2007-05-04-scripting-and-asynchronous-messaging/</link>
      <pubDate>Fri, 04 May 2007 00:00:00 +0000</pubDate>
      
      <guid>/posts/2007-05-04-scripting-and-asynchronous-messaging/</guid>
      <description>&lt;p&gt;One of the lessons we can learn from early success of the Web was making of ideal environment for use of scripts. There were two main components of the Web platform:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Web server (Apache), as an infrastructural component that had to be fast and reliable&lt;/li&gt;&#xA;&lt;li&gt;Web application as a collection of scripts (Perl, PHP, Python), providing the content in an easy manner&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The Web as we know it today is a much different place; applications talk to each other through variety of web service protocols, we have Ajax and all these new cool toys. But one principle remains the same: we need reliable infrastructure software with easy integration of scripts for fast creation of content and logic.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Cross-Domain Ajax support for ActiveMQ</title>
      <link>/posts/2006-10-18-cross-domain-ajax-support-for-activemq/</link>
      <pubDate>Wed, 18 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>/posts/2006-10-18-cross-domain-ajax-support-for-activemq/</guid>
      <description>&lt;p&gt;In this post I will try to summarize a case-study for implementing Cross-Domain Ajax support for ActiveMQ.&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;Use Case&#xA;    &lt;div id=&#34;use-case&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#use-case&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;In the current implementation of Ajax support for ActiveMQ, you can use JavaScript to consume and send messages, but only directly in your application. This stands mostly due to &amp;ldquo;same-domain&amp;rdquo; restriction of the &lt;code&gt;XmlHttpRequest&lt;/code&gt; calls.&lt;/p&gt;&#xA;&lt;p&gt;This makes impossible to use those messages in &amp;ldquo;trusted&amp;rdquo; applications and make them all use the same underlying mechanism. For example, you might want to create an embeddable Ajax message browser that could be used in various related applications to allow &amp;ldquo;operators&amp;rdquo; (non-technical people) to work with messages in certain queues and topics.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Stomp and JSON</title>
      <link>/posts/2006-09-18-stomp-and-json/</link>
      <pubDate>Mon, 18 Sep 2006 00:00:00 +0000</pubDate>
      
      <guid>/posts/2006-09-18-stomp-and-json/</guid>
      <description>&lt;p&gt;As I said in the previous post, one of my main intentions is to use Stomp to send map messages from PHP to Java. So in &lt;a href=&#34;/download/stomp.zip&#34; &gt;this iteration&lt;/a&gt;, I have added support for JSON encoding/decoding of message content.&lt;/p&gt;&#xA;&lt;p&gt;Before I dig deeper into new functionalities and changes, let me explain which JSON libraries (PHP and Java) I have used and why.&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;Dependencies&#xA;    &lt;div id=&#34;dependencies&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#dependencies&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Even though since version 5.2.0, &lt;a href=&#34;http://www.php.net/manual/en/ref.json.php&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;PHP has native support for JSON&lt;/a&gt;, I have used &lt;a href=&#34;http://mike.teczno.com/json.html&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;pure PHP&lt;/a&gt; implementation from Michal Migurski. I did this for only one reason: There is no any restriction to use it in PHP4.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>PHP Stomp client</title>
      <link>/posts/2006-09-14-php-stomp-client/</link>
      <pubDate>Thu, 14 Sep 2006 00:00:00 +0000</pubDate>
      
      <guid>/posts/2006-09-14-php-stomp-client/</guid>
      <description>&lt;h3 class=&#34;relative group&#34;&gt;Download&#xA;    &lt;div id=&#34;download&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#download&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;This work is based on Hiram Chirino&amp;rsquo;s excellent &lt;a href=&#34;http://stomp.codehaus.org/PHP&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;library&lt;/a&gt;. It would be great if this &amp;ldquo;extended&amp;rdquo; version become part of that project too, but for now you can grab it from &lt;a href=&#34;/download/stomp.zip&#34; &gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;While the original library is well written, there were few things that prevented me to use it in my project. I started by fixing those things, but then gone too far and now it is quite different from the original, so I&amp;rsquo;m putting it here.&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
