`
zhang_ly520
  • 浏览: 162081 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jboss ejb3 Message Driven Bean

阅读更多

超级讨厌ejb中。。。。。。。。。。。。。。。。。。。

================================================

要配置一个 Message Driven Bean 在不同的应用服务器中参数是不一样的。

目前只测试通过了jboss.

Message Driven Bean 包含2部分一个配置文件和一个java类。(书上说不需要配置文件也可以,我就没成功过,总报找不到,郁闷的很。)

1.java类。

/*
 * 文件名: MessageBean.java
 * 
 * 创建日期: 2009-2-26
 *
 * Copyright(C) 2009, by Ryoma.
 *
 * 原始作者: <a href="mailto:lemom8000@gmail.com">Ryoma</a>
 *
 */
package com.mdb.ejb.impl;

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

/**
 * 
 * 
 * @author <a href="mailto:lemom8000@gmail.com">Ryoma</a>
 * 
 * @version $Revision$
 * 
 * @since 2009-2-26
 */
@MessageDriven(activationConfig =
	{

			@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),

			@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/myQueue")

	})
public class MessageBean implements MessageListener {

	/*
	 * (non-Javadoc)
	 * 
	 * @see javax.jms.MessageListener#onMessage(javax.jms.Message)
	 */
	public void onMessage(Message message) {
		System.out.println("MessageBean:" + message.getClass());
		System.out.println("MessageBean:" + message);
	}

}

 红色部分在不同应用中不一样。MessageListener 是必须实现的。黄色的myQueue需要在配置文件中配置。

2.配置文件。xxxxx-service.xml 放在deploy下或者他下面的目录下。

 

<mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=myQueue">
		<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
<mbean code="org.jboss.jms.server.destination.QueueService"
      name="jboss.messaging.destination:service=Queue,name=PrivateDLQ"
      xmbean-dd="xmdesc/Queue-xmbean.xml">
      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
      <depends>jboss.messaging:service=PostOffice</depends>
   </mbean>

 两种方式都可以,第一种是在网上找到的,第二种是在服务器中的example-destinations-service.xml中找到的。第二种在文档中有许多写法,具体的属性不知道干什么用的没找到文档,有找到的给我发一份lemom8000@gmail.com

===========================================================

以下调用方法:

<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="javax.naming.*, java.text.*, javax.jms.*, java.util.Properties"%>
<%
    QueueConnection cnn = null;
    QueueSender sender = null;
    QueueSession sess = null;
    Queue queue = null;

    try {
			Properties props = new Properties();
			props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
			props.setProperty("java.naming.provider.url", "localhost:1099");
			props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");	
      InitialContext ctx = new InitialContext(props);
      QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
      cnn = factory.createQueueConnection();
      sess = cnn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
			queue = (Queue) ctx.lookup("queue/myQueue");
    } catch (Exception e) {
		out.println(e.getMessage());
    }
	try {
		TextMessage msg = sess.createTextMessage("这是我的第一个消息驱动Bean");
		sender = sess.createSender(queue);
		sender.send(msg);
		sess.close ();
		out.println("消息已经发送出去了,你可以到JBoss控制台查看Bean的输出");
	} catch (Exception e) {
		out.println(e.getMessage());
	}
		
%>

 

网上找的例子,测试通过了。

=======================================================

再次赶紧EJB不好用。。。。。。。。。。。。

分享到:
评论
2 楼 bruce.peng 2009-06-09  
ejb  我也正在郁闷中
1 楼 javacool_zhou 2009-03-25  
习惯就好了。。。。

相关推荐

    EJB3.0开发Message Driven Bean

    import javax.ejb.MessageDriven; @MessageDriven(activationConfig={ @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"), @ActivationConfigProperty(property...

    jboss ejb 3.zip

    5. **消息驱动Bean(Message-Driven Beans)**:处理Java Message Service (JMS) 消息,实现异步处理。 【JBoss EJB 3.0实现】 JBoss作为流行的开源应用服务器,对EJB 3.0提供了全面的支持。以下是一些关键特性: ...

    jboss7ejb配置文件

    在这个文件中,你可以定义EJB组件的基本元数据,如bean的类型(例如,Stateless Session Bean、Stateful Session Bean、Message Driven Bean)、接口、实现类、部署名称以及安全角色等。例如,你可以声明一个无状态...

    Eclipse+Jboss EJB技术 会话Bean

    在实验中,你可能还会学习到EJB的接口定义、实体Bean(Entity Bean,用于持久化数据)、消息驱动Bean(Message-Driven Bean,用于处理消息队列)以及EJB的生命周期管理。此外,理解EJB容器如何处理事务、安全性、...

    Message-Driven Bean EJB实例源代码

    - 使用`@MessageDriven`注解标记该类,指定JMS目的地类型(队列或主题),以及其他配置属性。 - 在ejb-jar.xml或元数据注解中配置MDB,如JNDI名称、消息驱动适配器等。 6. **源代码解析**: 压缩包中的源代码...

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part1

    EJB 3部分则包含Session Bean、Message Driven Bean的详细介绍。本书内容主要包括三部分,第一部分介绍Java EE开发的基础知识,以及如何搭建开发环境;第二部分详细讲解了JSF RI、EJB 3的Session Bean等Java EE知识...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    EJB 3部分则包含Session Bean、Message Driven Bean的详细介绍。本书内容主要包括三部分,第一部分介绍Java EE开发的基础知识,以及如何搭建开发环境;第二部分详细讲解了JSF RI、EJB 3的Session Bean等Java EE知识...

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发

    EJB 3部分则包含Session Bean、Message Driven Bean的详细介绍。本书内容主要包括三部分,第一部分介绍Java EE开发的基础知识,以及如何搭建开发环境;第二部分详细讲解了JSF RI、EJB 3的Session Bean等Java EE知识...

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

    消息驱动Bean(Message-Driven Bean, MDB)是EJB的一个特殊类型,它充当了应用服务器和JMS(Java Message Service)之间的桥梁,用于处理异步通信。在本教程中,我们将深入探讨如何在JBOSS 4.0.4.GA环境下开发和部署...

    jboss7 + EJB3

    - 编写EJB:使用注解如`@Stateless`、`@Stateful`、`@Singleton`、`@MessageDriven`来定义不同类型的Bean。 - 编写接口和实现:EJB3允许Bean通过接口进行交互,接口定义服务,实现提供具体功能。 - 配置pom.xml或...

    JBoss EJB3.0实例教程

    书中可能涵盖了诸如数据库连接池、消息驱动bean(Message Driven Bean, MDB)、定时器服务(Timer Service)、会话bean的生命周期管理等多个主题,帮助读者全面掌握EJB3.0的实用技能。 总之,《JBoss EJB3.0实例...

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第3章

    EJB 3部分则包含Session Bean、Message Driven Bean的详细介绍。本书内容主要包括三部分,第一部分介绍Java EE开发的基础知识,以及如何搭建开发环境;第二部分详细讲解了JSF RI、EJB 3的Session Bean等Java EE知识...

    Jboss EJB3.0教程

    - 包括如何使用Session Bean和Message Driven Bean等。 - **使用Message Driven Bean**: - 继续探讨如何利用Message Driven Bean提高Web应用的性能和可扩展性。 综上所述,本教程不仅提供了EJB3.0的核心技术...

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第10章

    EJB 3部分则包含Session Bean、Message Driven Bean的详细介绍。本书内容主要包括三部分,第一部分介绍Java EE开发的基础知识,以及如何搭建开发环境;第二部分详细讲解了JSF RI、EJB 3的Session Bean等Java EE知识...

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第二章

    EJB 3部分则包含Session Bean、Message Driven Bean的详细介绍。本书内容主要包括三部分,第一部分介绍Java EE开发的基础知识,以及如何搭建开发环境;第二部分详细讲解了JSF RI、EJB 3的Session Bean等Java EE知识...

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part3

    EJB 3部分则包含Session Bean、Message Driven Bean的详细介绍。本书内容主要包括三部分,第一部分介绍Java EE开发的基础知识,以及如何搭建开发环境;第二部分详细讲解了JSF RI、EJB 3的Session Bean等Java EE知识...

    使用eclipse通过jboss开发简单的ejb应用(jboss7.x & ejb3.x)

    1. 注解驱动:EJB 3.x允许开发者使用注解(如`@Stateless`,`@Stateful`,`@Singleton`,`@MessageDriven`)来声明bean的角色,而无需XML配置文件。 2. 自动依赖注入:通过`@EJB`注解,可以实现bean之间的自动依赖...

    ejb3进阶案例

    在这个进阶案例中,我们将深入探讨ejb3的三大主要组件:Session Bean、实体Bean以及MessageDriven Bean,并在JBoss 5应用服务器环境下进行实战演练。 **1. Session Bean** Session Bean是ejb3中的服务组件,用于...

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第5章

    EJB 3部分则包含Session Bean、Message Driven Bean的详细介绍。本书内容主要包括三部分,第一部分介绍Java EE开发的基础知识,以及如何搭建开发环境;第二部分详细讲解了JSF RI、EJB 3的Session Bean等Java EE知识...

Global site tag (gtag.js) - Google Analytics