| ||||||||||
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) { } } } }
|