`

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支持
分享到:
评论

相关推荐

    JBoss7.1.1配置指南及管理员手册

    本配置指南旨在详细阐述JBoss 7.1.1的特性、配置方法以及管理实践,帮助用户深入了解并有效地利用该版本。 1. **JBoss 版本特性** - **JBoss 4**:引入了模块化架构,增强了安全管理,支持EJB 3.0。 - **JBoss 5*...

    JBoss7.1.1配置指南及管理员手册PDF版

    JBoss7.1.1配置指南及管理员手册是一份全面的指南,旨在帮助用户理解和配置JBoss应用服务器的各个方面的设置和管理。本文将重点介绍JBoss7.1.1的核心特性和管理员需要了解的关键概念,包括JBoss的主要版本特性、...

    JBoss7.1.1配置MySql数据源

    下面将详细介绍如何在JBoss 7.1.1中配置MySQL数据源。 首先,我们需要准备MySQL数据库的相关信息,包括数据库URL、用户名和密码。例如,如果你的MySQL服务器运行在本地,数据库名为`mydb`,用户为`root`,密码为`...

    EJB3.1与JBoss7.1.1在eclipse的实现

    标题《EJB3.1与JBoss7.1.1在eclipse的实现》意味着本文档将介绍如何使用EJB3.1标准在JBoss应用服务器7.1.1版本上进行企业级Java Bean(EJB)的开发,并通过Eclipse集成开发环境进行部署和测试。EJB3.1是一种用于简化...

    Jboss7.1.1Linux64位安装包

    JBoss AS 7.1.1 是 Red Hat 公司推出的开源 Java 应用服务器,是基于Java EE 6 平台的企业级中间件。它为开发者提供了在Linux 64位操作系统上运行和管理Java应用程序的框架。下面将详细介绍JBoss AS 7.1.1在Linux 64...

    jboss7.1.1+ejb3.0+MySQL数据源配置

    《JBoss 7.1.1 + EJB 3.0 + MySQL 数据源配置详解》 在企业级Java应用开发中,JBoss Application Server(简称JBoss AS)是广泛使用的开源应用服务器,版本7.1.1是其稳定且功能强大的一个版本。EJB(Enterprise ...

    Jboss7.1.1p配置mysql和oracle以及项目调用参照.pdf

    ### JBoss 7.1.1p 配置 MySQL 和 Oracle 数据库以及项目调用方法详解 #### 一、概述 在本篇文章中,我们将详细探讨如何在JBoss 7.1.1p环境中配置MySQL和Oracle数据库,并指导如何通过项目进行调用。通过这一过程,...

    Linux下jboss7.1.1安装帮助

    在Linux环境下安装配置JBoss 7.1.1是一个涉及多步骤的过程,下面将详细讲解这些步骤。 首先,我们需要确认Linux系统的版本。通过运行`uname -a`命令,我们可以检查系统是32位还是64位。如果输出中有"x86_64",则...

    Jboss7.1.1+eclipse-kepler开发ejb3

    根据文件信息,以下是关于Jboss7.1.1与eclipse-kepler集成并开发ejb3的知识点。 首先,环境搭建方面,需要准备 JDK 1.5 或更高版本,并安装 Eclipse Kepler(版本4.3)。接着,下载并解压 Jboss7.1.1 到指定文件夹...

    ejb2.0消息驱动bean的开发(JBOSS4.0.4.GA 环境)

    【标题】:“ejb2.0消息驱动bean的开发(JBOSS4.0.4.GA 环境)” 在Java企业版(Java EE)的早期版本中,EJB(Enterprise JavaBeans)2.0是核心组件之一,用于构建分布式、事务处理和面向服务的业务应用程序。消息...

    jboss 7.1.1 Final 的jsp热部署解决方案

    将这个jar文件替换掉原版JBoss 7.1.1 Final中的相应文件,通常是`$JBOSS_HOME\modules\system\layers\base\org\jboss\as\server\main`目录下的`jboss-as-web-7.1.1.Final.jar`,可以使得JBoss在检测到JSP文件变更时...

    Jboss配置虚拟路径

    ### JBoss配置虚拟路径详解 在企业级应用服务器领域,JBoss AS(Application Server)作为一款开源的Java应用服务器,提供了强大的平台支持多种Java EE应用的部署与运行。虚拟路径的配置是JBoss中一项非常实用的...

    Jboss下开发ejb应用之一消息驱动bean的应用

    在"Jboss下开发ejb应用之一消息驱动bean的应用.doc"文档中,可能包含了关于如何在Jboss环境中创建、配置和测试MDB的详细步骤,包括具体的代码示例、配置文件内容和可能出现的问题及解决方案。建议详细阅读此文档,以...

    jboss7.1.1下报java.lang.SecurityException: JCE cannot authenticate the provider BC

    标题中的“jboss7.1.1下报java.lang.SecurityException: JCE cannot authenticate the provider BC”是一个典型的Java安全异常,通常发生在尝试使用不受信任的加密提供者时。在这个问题中,"BC"指的是Bouncy Castle...

    ejb 消息驱动Bean例子

    消息驱动Bean(Message Driven Bean,MDB)是EJB的一种特殊类型,它专注于处理消息队列(Queue)或主题(Topic)中的消息,实现异步处理。在本例中,我们将探讨如何使用EJB消息驱动Bean处理Queue和Topic。 1. **...

Global site tag (gtag.js) - Google Analytics