![]() |
| |||||||||
| Resin 3.1 Documentation Examples Changes Overview Installation Configuration Quercus SOA/IoC JSP Servlets and Filters Admin (JMX) EJB Amber Security Performance Hessian XML and XSLT Third-party Troubleshooting/FAQ IDE's Scottit Groovy SwiftMQ OpenJMS Hibernate Database |
SwiftMQThe SwiftMQ client is configured by adding a jndi-link to the web.xml or resin.conf. Resin needs the from the SwiftMQ distribution in the classpath, either in resin/lib/swiftmq.jar or in WEB-INF/lib.
<web-app>
<jndi-link>
<jndi-name>java:comp/env/jms</jndi-name>
<jndi-factory>com.swiftmq.jndi.InitialContextFactoryImpl</jndi-factory>
<init-param java.naming.provider.url="smqp://localhost:4001/timeout=10000"/>
</jndi-link>
The SwiftMQ router will need to be started as a separate process. A sample servlet using the above SwiftMQ configuration sends a text message to the queue.
package qa;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.naming.*;
import javax.jms.*;
public class SendServlet extends HttpServlet {
private QueueConnectionFactory queueFactory;
private Queue queue;
public void init()
throws ServletException
{
try {
Context ic = new InitialContext();
Context jms = (Context) ic.lookup("java:comp/env/jms");
queueFactory = (QueueConnectionFactory)
jms.lookup("QueueConnectionFactory");
queue = (Queue) jms.lookup("testqueue@router1");
} catch (Exception e) {
throw new ServletException(e);
}
}
public void service(HttpServletRequest req,
HttpServletResponse res)
throws IOException, ServletException
{
PrintWriter out = res.getWriter();
QueueConnection conn = null;
try {
conn = queueFactory.createQueueConnection();
QueueSession queueSession =
conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
QueueSender queueSender = queueSession.createSender(queue);
TextMessage message = queueSession.createTextMessage();
message.setText("Test message");
out.println("Sending message: " + message.getText());
queueSender.send(message);
} catch (Exception e) {
throw new ServletException(e);
} finally {
try {
conn.close();
} catch (Exception e) {
}
}
}
}
| |||||||||