<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jeff Mesnil &#187; redhat</title>
	<atom:link href="http://jmesnil.net/weblog/category/redhat/feed/" rel="self" type="application/rss+xml" />
	<link>http://jmesnil.net/weblog</link>
	<description>Thoughts about Java, Web and Software Development</description>
	<lastBuildDate>Wed, 25 Jan 2012 10:23:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Red Hat Wins &#8220;Most Innovative Java Company&#8221; at JAXconf &#9755;</title>
		<link>http://jaxenter.com/jax-innovation-awards-2011-the-winners-are-36551.html</link>
		<comments>http://jmesnil.net/weblog/2011/06/23/red-hat-wins-most-innovative-java-company-at-jaxconf/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 20:01:28 +0000</pubDate>
		<dc:creator>Jeff Mesnil</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://jmesnil.net/weblog/?p=1649</guid>
		<description><![CDATA[Red Hat rightly deserves this award with all the innovative Java projects managed by its middleware division JBoss. Congratulations to all Red Hat developers who drive this innovation with a special attention to my ex-teamates on HornetQ who are doing a tremendous work on the best and fastest messaging service :) &#9873;<a href="http://jmesnil.net/weblog/2011/06/23/red-hat-wins-most-innovative-java-company-at-jaxconf/" rel="bookmark" title="Permanent link to 'Red Hat Wins &#8220;Most Innovative Java Company&#8221; at JAXconf'" class="glyph">&#9873;</a>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.redhat.com/">Red Hat</a> rightly deserves this award with all the innovative Java projects managed by its middleware division <a href="http://jboss.org/">JBoss</a>.</p>

<p>Congratulations to all Red Hat developers who drive this innovation with a special attention to my ex-teamates on <a href="http://www.jboss.org/hornetq/">HornetQ</a> who are doing a tremendous work on the best and fastest messaging service :)</p>
<p><a href="http://jmesnil.net/weblog/2011/06/23/red-hat-wins-most-innovative-java-company-at-jaxconf/" rel="bookmark" title="Permanent link to 'Red Hat Wins &#8220;Most Innovative Java Company&#8221; at JAXconf'" class="glyph">&#9873;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jmesnil.net/weblog/2011/06/23/red-hat-wins-most-innovative-java-company-at-jaxconf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#9873; HornetQ Talks at Marseille &amp; Nice JUGs</title>
		<link>http://jmesnil.net/weblog/2011/03/04/hornetq-talks-at-marseille-nice-jugs/</link>
		<comments>http://jmesnil.net/weblog/2011/03/04/hornetq-talks-at-marseille-nice-jugs/#comments</comments>
		<pubDate>Fri, 04 Mar 2011 21:17:23 +0000</pubDate>
		<dc:creator>Jeff Mesnil</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://jmesnil.net/weblog/?p=1601</guid>
		<description><![CDATA[Next week, I will talk about HornetQ and Messaging at the French mediterranean JUGs. The first talk will be at Marseille on Thursday 2011/03/10 and the second at Nice on Friday 2011/03/11. On the same days, Arnaud Simon from Red Hat will also present AMQP and Qpid. My talks will be about HornetQ &#38; the [...]]]></description>
			<content:encoded><![CDATA[<p>Next week, I will talk about <a href="http://jboss.org/hornetq">HornetQ</a> and Messaging at the French mediterranean JUGs.</p>

<p>The first talk will be at <a href="http://www.marsjug.org/reunions#TOC-Soir-e-Messaging-le-jeudi-10-mars-2">Marseille</a> on Thursday 2011/03/10 and the second at <a href="http://www.rivierajug.org/xwiki/bin/view/Main/201103%2Dfiles%2Dmessages">Nice</a> on Friday 2011/03/11.
On the same days, Arnaud Simon from <a href="http://redhat.com">Red Hat</a> will also present AMQP and Qpid.</p>

<p>My talks will be about HornetQ &amp; the Web, how HornetQ embraces the Web and offers messaging features on top of Web technologies (REST, HTML5, etc.). It will also have a (brief) introduction to Messaging and JMS for developers who want to leverage messages for their application (Web-based or not).</p>

<p>See you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://jmesnil.net/weblog/2011/03/04/hornetq-talks-at-marseille-nice-jugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#9873; Using Stomp with HornetQ</title>
		<link>http://jmesnil.net/weblog/2010/01/14/using-stomp-with-hornetq/</link>
		<comments>http://jmesnil.net/weblog/2010/01/14/using-stomp-with-hornetq/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 14:24:49 +0000</pubDate>
		<dc:creator>Jeff Mesnil</dc:creator>
				<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://jmesnil.net/weblog/?p=878</guid>
		<description><![CDATA[My daily job at Red Hat is to work on HornetQ. As the home page says: HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system Yesterday, we released HornetQ 2.0.0 which supports 2 messaging APIs, JMS and HornetQ&#8217;s own Core messaging API. However, we already have [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jboss.org/hornetq/"><img src='http://www.jboss.org/files/jbosslabs/design/hornetQ/logo/images/hornetQ_icon_64x64.png' class='alignleft' /></a></p>

<p>My daily job at <a href="http://redhat.com/">Red Hat</a> is to work on <a href="http://jboss.org/hornetq/">HornetQ</a>.</p>

<p>As the home page says:</p>

<blockquote>
  <p>HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system</p>
</blockquote>

<p>Yesterday, we released HornetQ 2.0.0 which supports 2 messaging APIs, <a href="http://java.sun.com/products/jms/">JMS</a> and HornetQ&#8217;s own <a href="http://hornetq.sourceforge.net/docs/hornetq-2.0.0.GA/api/">Core messaging API</a>.<br />
However, we already have users who wants to use HornetQ in non-Java environments.</p>

<p>One solution is to use <a href="http://stomp.codehaus.org/">Stomp</a> with HornetQ so that any <a href="http://stomp.codehaus.org/Clients">Stomp clients</a> can communicate with HornetQ.</p>

<p>To show how to setup HornetQ and Stomp together, I created a <a href="http://github.com/jmesnil/hornetq-stomp">project</a> with the source code and all the required jars on GitHub:</p>

<pre><code>git clone git://github.com/jmesnil/hornetq-stomp.git
</code></pre>

<p>The source code consists in a single class which configures and starts a fully functional standalone HornetQ server
and connects it to Stomp:</p>


<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> HornetQStompServer <span style="color: #009900;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">Exception</span> <span style="color: #009900;">&#123;</span>
&nbsp;
      Configuration configuration <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ConfigurationImpl<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #666666; font-style: italic;">// to keep things simple, we disable security. In real use, we'd setup authentication properly</span>
      configuration.<span style="color: #006633;">setSecurityEnabled</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #666666; font-style: italic;">// we add a In-VM acceptor to HornetQ as the server will be accessible outside using Stomp</span>
      configuration.<span style="color: #006633;">getAcceptorConfigurations</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>
         <span style="color: #000000; font-weight: bold;">new</span> TransportConfiguration<span style="color: #009900;">&#40;</span>InVMAcceptorFactory.<span style="color: #000000; font-weight: bold;">class</span>.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #666666; font-style: italic;">// we add a Queue which will be available to Stomp under /queue/a</span>
      configuration.<span style="color: #006633;">getQueueConfigurations</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>
         <span style="color: #000000; font-weight: bold;">new</span> QueueConfiguration<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jms.queue.a&quot;</span>, <span style="color: #0000ff;">&quot;jms.queue.a&quot;</span>,<span style="color: #000066; font-weight: bold;">null</span>, <span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #666666; font-style: italic;">// we create the HornetQ server using this config</span>
      HornetQServer hornetqServer <span style="color: #339933;">=</span> HornetQServers.<span style="color: #006633;">newHornetQServer</span><span style="color: #009900;">&#40;</span>configuration<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #666666; font-style: italic;">// we also create a JMS server manager as Stomp is using the JMS API</span>
      JMSServerManager jmsServer <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> JMSServerManagerImpl<span style="color: #009900;">&#40;</span>hornetqServer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #666666; font-style: italic;">// starting the JMS server will also start theHornetQ server underneath</span>
      jmsServer.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #666666; font-style: italic;">// We create directly a JMS ConnectionFactory which will be </span>
      <span style="color: #666666; font-style: italic;">// connected to the HornetQ server using In-VM connection</span>
      ConnectionFactory connectionFactory <span style="color: #339933;">=</span> HornetQJMSClient.<span style="color: #006633;">createConnectionFactory</span><span style="color: #009900;">&#40;</span>
         <span style="color: #000000; font-weight: bold;">new</span> TransportConfiguration<span style="color: #009900;">&#40;</span>InVMConnectorFactory.<span style="color: #000000; font-weight: bold;">class</span>.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #666666; font-style: italic;">// We inject the connection factory in Stomp</span>
      StompConnect stompConnect <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> StompConnect<span style="color: #009900;">&#40;</span>connectionFactory<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #666666; font-style: italic;">// and start it using default Stomp config</span>
      stompConnect.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>


<p>As both HornetQ server and clients are in the same Virtual Machine, we use in-vm connections.
There will be only one port opened: the port used by Stomp (61613 by default)</p>

<p>To run the server, use Apache <a href="http://ant.apache.org/">Ant</a>:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ ant server
&nbsp;
...
&nbsp;
server:
   <span style="color: #7a0874; font-weight: bold;">&#91;</span>java<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000;">14</span> janv. <span style="color: #000000;">2010</span> <span style="color: #000000;">10</span>:<span style="color: #000000;">57</span>:<span style="color: #000000;">30</span> org.hornetq.core.logging.impl.JULLogDelegate info
   <span style="color: #7a0874; font-weight: bold;">&#91;</span>java<span style="color: #7a0874; font-weight: bold;">&#93;</span> INFO: live server is starting..
   <span style="color: #7a0874; font-weight: bold;">&#91;</span>java<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000;">14</span> janv. <span style="color: #000000;">2010</span> <span style="color: #000000;">10</span>:<span style="color: #000000;">57</span>:<span style="color: #000000;">30</span> org.hornetq.core.logging.impl.JULLogDelegate warn
   <span style="color: #7a0874; font-weight: bold;">&#91;</span>java<span style="color: #7a0874; font-weight: bold;">&#93;</span> ATTENTION: Security risk<span style="color: #000000; font-weight: bold;">!</span> It has been detected that the cluster admin user and password have not been changed from the installation default. Please see the HornetQ user guide, cluster chapter, <span style="color: #000000; font-weight: bold;">for</span> instructions on how to <span style="color: #000000; font-weight: bold;">do</span> this.
   <span style="color: #7a0874; font-weight: bold;">&#91;</span>java<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000;">14</span> janv. <span style="color: #000000;">2010</span> <span style="color: #000000;">10</span>:<span style="color: #000000;">57</span>:<span style="color: #000000;">30</span> org.hornetq.core.logging.impl.JULLogDelegate info
   <span style="color: #7a0874; font-weight: bold;">&#91;</span>java<span style="color: #7a0874; font-weight: bold;">&#93;</span> INFO: HornetQ Server version 2.0.0.GA <span style="color: #7a0874; font-weight: bold;">&#40;</span>Hornet Queen, <span style="color: #000000;">113</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> started
   <span style="color: #7a0874; font-weight: bold;">&#91;</span>java<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000;">14</span> janv. <span style="color: #000000;">2010</span> <span style="color: #000000;">10</span>:<span style="color: #000000;">57</span>:<span style="color: #000000;">30</span> org.codehaus.stomp.tcp.TcpTransportServer doStart
   <span style="color: #7a0874; font-weight: bold;">&#91;</span>java<span style="color: #7a0874; font-weight: bold;">&#93;</span> INFO: Listening <span style="color: #000000; font-weight: bold;">for</span> connections at: tcp:<span style="color: #000000; font-weight: bold;">//</span>BlackBook.local:<span style="color: #000000;">61613</span></pre></div></div>


<p>That&#8217;s all you need to have a fully functional messaging server accessible to any Stomp clients.</p>

<p>To check that it works properly, we will use telnet as our Stomp client:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ telnet localhost <span style="color: #000000;">61613</span></pre></div></div>


<p>First, we connect to the server.<br />
To keep things simple, we have disabled security from the server so that
we can connect to it anonymously:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">CONNECT
<span style="color: #c20cb9; font-weight: bold;">login</span>:
passcode:
&nbsp;
^<span style="color: #000000; font-weight: bold;">@</span></pre></div></div>


<p>(<code>^@</code> is Ctl-@)</p>

<p>The server replies that we are connected:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">CONNECTED
session:null</pre></div></div>


<p>We send a message to the destination <code>/queue/a</code>:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">SEND 
destination:<span style="color: #000000; font-weight: bold;">/</span>queue<span style="color: #000000; font-weight: bold;">/</span>a
&nbsp;
hello, hornetq<span style="color: #000000; font-weight: bold;">!</span>
^<span style="color: #000000; font-weight: bold;">@</span></pre></div></div>


<p>To make things more interesting, you can now kill the server and restart it.
The message that was sent to the queue is persisted and will be consumed after the server is restarted.</p>

<p>Once the server is restarted, we open a new Stomp client and connect to the server:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ telnet localhost <span style="color: #000000;">61613</span>
&nbsp;
CONNECT
<span style="color: #c20cb9; font-weight: bold;">login</span>:
passcode:
&nbsp;
^<span style="color: #000000; font-weight: bold;">@</span></pre></div></div>


<p>And we subscribe to the destination:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">SUBSCRIBE
destination: <span style="color: #000000; font-weight: bold;">/</span>queue<span style="color: #000000; font-weight: bold;">/</span>a
ack:client
&nbsp;
^<span style="color: #000000; font-weight: bold;">@</span></pre></div></div>


<p>As soon as we are subscribed, we will receive the message that was sent to the destination:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">MESSAGE
message-id:ID:7b28be24-00f1-11df-b27f-001c42000009:0000000000000000
destination:<span style="color: #000000; font-weight: bold;">/</span>queue<span style="color: #000000; font-weight: bold;">/</span>a
timestamp:<span style="color: #000000;">1263462299779</span>
JMSXDeliveryCount:<span style="color: #000000;">1</span>
expires:<span style="color: #000000;">0</span>
subscription:<span style="color: #000000; font-weight: bold;">/</span>subscription-to<span style="color: #000000; font-weight: bold;">//</span>queue<span style="color: #000000; font-weight: bold;">/</span>a
priority:<span style="color: #000000;">4</span>
&nbsp;
hello, hornetq<span style="color: #000000; font-weight: bold;">!</span></pre></div></div>


<p>Finally, we acknowledge the message:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">ACK    
message-id: ID:7b28be24-00f1-11df-b27f-001c42000009:0000000000000000
&nbsp;
^<span style="color: #000000; font-weight: bold;">@</span></pre></div></div>


<p>By leveraging HornetQ &amp; Stomp, you can use messaging queues in your applications regardless on the platform you use.</p>

<p>One key decision of HornetQ was to make it simple to embed and integrate with other projects.
This simple example shows that we reach our goal with Stomp.</p>
]]></content:encoded>
			<wfw:commentRss>http://jmesnil.net/weblog/2010/01/14/using-stomp-with-hornetq/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#9873; JBoss Messaging 2.0.0 Beta Released</title>
		<link>http://jmesnil.net/weblog/2009/06/09/jboss-messaging-200-beta-released/</link>
		<comments>http://jmesnil.net/weblog/2009/06/09/jboss-messaging-200-beta-released/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 08:15:07 +0000</pubDate>
		<dc:creator>Jeff Mesnil</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://jmesnil.net/weblog/?p=422</guid>
		<description><![CDATA[The main reason of the lack of posts on this weblog was released yesterday: JBoss Messaging 2.0 Beta is out. JBoss Messaging is a JMS messaging provider that is included in JBoss Middleware stacks. It has been a wild ride and a great team effort to release it. Onward to the final 2.0 release now!]]></description>
			<content:encoded><![CDATA[<p>The main reason of the lack of posts on this weblog was released yesterday: <a href="http://www.jboss.org/jbossmessaging/">JBoss Messaging 2.0 Beta is out</a>. JBoss Messaging is a <a href="http://java.sun.com/products/jms/">JMS</a> messaging provider that is included in <a href="http://jboss.org">JBoss Middleware stacks</a>.</p>

<p>It has been a wild ride and a great team effort to release it. Onward to the final 2.0 release now!</p>
]]></content:encoded>
			<wfw:commentRss>http://jmesnil.net/weblog/2009/06/09/jboss-messaging-200-beta-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#9873; JBoss Messaging @ Irish Java Technologies Conference</title>
		<link>http://jmesnil.net/weblog/2008/12/29/jboss-messaging-irish-java-technologies-conference/</link>
		<comments>http://jmesnil.net/weblog/2008/12/29/jboss-messaging-irish-java-technologies-conference/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 11:24:04 +0000</pubDate>
		<dc:creator>Jeff Mesnil</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://jmesnil.net/weblog/?p=410</guid>
		<description><![CDATA[I&#8217;ll be presenting JBoss Messaging at Irish Java Technologies Conference on January 7th &#38; 8th 2009 at Dublin. The presentation will be mainly about JBoss Messaging 2.0 and what the team has cooked for this major release. I am also looking forward to attend Charles Nutter&#8216;s presentations about JRuby and the versatility of Java. See [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ijtc.firstport.ie/"><img src='http://ijtc.firstport.ie/site_media/images/footer.gif' class='alignleft' /></a></p>

<p>I&#8217;ll be presenting JBoss Messaging at <a href="http://ijtc.firstport.ie/">Irish Java Technologies Conference</a> on January 7th &amp; 8th 2009 at Dublin.
The <a href="http://ijtc.firstport.ie/lecture/12/">presentation</a> will be mainly about JBoss Messaging 2.0 and what the team has cooked for this major release.</p>

<p>I am also looking forward to attend <a href="http://blog.headius.com/">Charles Nutter</a>&#8216;s presentations about <a href="http://ijtc.firstport.ie/lecture/11/">JRuby</a> and the <a href="http://ijtc.firstport.ie/lecture/21/">versatility of Java</a>.</p>

<p>See you at Dublin, the 7th &amp; 8th January!</p>
]]></content:encoded>
			<wfw:commentRss>http://jmesnil.net/weblog/2008/12/29/jboss-messaging-irish-java-technologies-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

