ActiveMQ

From Resin 3.0

Revision as of 05:07, 8 February 2008 by Ferg (Talk | contribs)
Jump to: navigation, search

See Also

General documentation is available about Resin Messaging.

JCA

ActiveMQ can be configured in Resin using ActiveMQ's JCA adapter. The .rar file is in apache-activemq-5.0.0/lib/options/activemq-rar-5.0.0.rar

In the resin.conf, you'll need to add a <resource-deploy> tag to tell Resin where to look for resources:

  <resin xmlns="http://caucho.com/ns/resin">
    <cluster id="">
        <host id="">
           <resource-deploy path="deploy"/>
            ...
         </host>
     </cluster>
  </resin>

Then, in your resin-web.xml, you'll need to configure the connector. It will look like:

  <web-app xmlns="http://caucho.com/ns/resin">
    
     <resource-adapter uri="activemq:">
        <init server-url="vm://localhost"/>
     </resource-adapter>

     <connection-factory uri="activemq:" name="activemq"/>
 
     <jms-queue uri="activemq:" name="test">
         <init physical-name="queue.test"/>
     </jms-queue>
  </web-app>
  • The <resource-adapter> configures a JCA resource-adapter.
  • The uri="activemq:" is an alias for class="org.apache.activemq.ra.ActiveMQResourceAdapter" (contained in resin-support.jar)
  • The <init> block configures the resource adapter parameters.
  • The <connection-factory> configures the outbound factory
  • The <bean> configures the Queue (i.e. the adminobject)
package demo;

import javax.jms.*;
import javax.servlet.*;
import javax.webbeans.*;

public class DemoServlet extends GenericServlet {
  @In ConnectionFactory _factory;
  @Named("test") Queue _queue;

  public void service(...)
  {
    ...
    Connection conn = _factory.createConnection();
    Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
    session.send(_queue, session.createTextMessage("test"));
    ...
  }
}
Personal tools