ActiveMQ
From Resin 3.0
This article requires cleanup and may refer to a legacy version of Resin.
Please visit http://www.caucho.com/documentation/ for the most up-to-date documentation. |
See Also
General documentation is available about Resin Messaging.
JCA
Resin, ActiveMQ and 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"));
...
}
}