jboss 7.1.1 消息驱动bean配置

web模块
/WEB-INF/hornetq-jms.xml

<?xml version="1.0" encoding="UTF-8"?>
<messaging-deployment xmlns="urn:jboss:messaging-deployment:1.0">
<hornetq-server>
<jms-destinations>
<jms-queue name="HelloWorldMDBQueue">
<entry name="/queue/HelloWorldMDBQueue"/>
</jms-queue>
</jms-destinations>
</hornetq-server>
</messaging-deployment>

/src/ejb/servlet/TextServlet.java

package ejb.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.annotation.Resource;
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.QueueConnectionFactory;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/TextServlet")
public class TextServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

@Resource(mappedName = "java:/ConnectionFactory")
private QueueConnectionFactory queueConnectionFactory;

@Resource(mappedName = "java:/queue/HelloWorldMDBQueue")
private Queue queue;

protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
Connection connection;
try {
connection = queueConnectionFactory.createConnection();
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
MessageProducer messageProducer = (MessageProducer) session
.createProducer(queue);
TextMessage textMessage = session.createTextMessage();
// Part number – 12345
// Weight – 12.5f
// Quantity - 50
String message = "12345 12.5 50";
textMessage.setText(message);
messageProducer.send(textMessage);
System.out.println("---> Text Message Sent");
} catch (JMSException ex) {
Logger.getLogger(TextServlet.class.getName()).log(Level.SEVERE,
null, ex);
}
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet TextServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet TextServlet at "
+ request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
}


ejb 模块
/ejbModule/ejb/bean/TextMDB.java

package ejb.bean;

import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

@MessageDriven(name = "HelloWorldMDB", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/HelloWorldMDBQueue"),
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge") })
public class TextMDB implements MessageListener {

private final static Logger LOGGER = Logger.getLogger(TextMDB.class
.toString());

/**
* @see MessageListener#onMessage(Message)
*/
public void onMessage(Message message) {
TextMessage msg = null;
try {
if (message instanceof TextMessage) {
msg = (TextMessage) message;
Scanner scanner = new Scanner(msg.getText());
System.out.println("---> Part Number: " + scanner.nextInt());
System.out.println("---> Weight: " + scanner.nextFloat());
System.out.println("---> Quantity: " + scanner.nextInt());
System.out.println("---> TextMessage Received");
}
} catch (JMSException ex) {
LOGGER.log(Level.SEVERE, null, ex);
}
}
}


使用 standalone-full.xml 启动jboss7 才有jms支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值