EJB3.0学习笔记---MDB--第一个MDBBean程序:

本文介绍了一个简单的P2P消息传递MDBBean示例项目,包括EJB项目的创建、MDBBean的实现及客户端如何发送消息。通过具体代码展示了如何配置MDBBean并使其与特定的消息队列关联。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一个MDBBean程序:
P2P方式传递消息:
1.创建EJB项目:EJBTestP2P_05
2.在com.credream.ejb包下:
MyQueueMDBBean.java
package com.credream.ejb;

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(//通过这个说明这是mdbbean
activationConfig={//值是一个数组;
@ActivationConfigProperty

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

(propertyName="destination",propertyValue="queue/myqueue")//没有这个名词的queue的

时候,就会创建一个,
//就是通过这个名词得到destination;
}
)
public class MyQueueMDBBean implements MessageListener {

public void onMessage(Message msg) {
TextMessage textMessage=(TextMessage)msg;
try {
System.out.println(" MyQueueMDBBean被调用了:[["
+textMessage.getText()+"]]");
} catch (JMSException e) {
e.printStackTrace();
}
}
}
-----------------------------------------------------------------------------
3.创建JAVAProject项目:EJBTest05_client
com.credream.ejb
MyQueueMDBBeanClient.java
package com.credream.ejb;

import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.TextMessage;
import javax.naming.InitialContext;

public class MyQueueMDBBeanClient {

/**
* @param args
*/
public static void main(String[] args)throws Exception {
InitialContext context=new InitialContext();
//获取QueueConnectionFactory对象
QueueConnectionFactory factory=(QueueConnectionFactory)context.lookup

("ConnectionFactory");
//创建QueueConnection
QueueConnection connection=factory.createQueueConnection();
//创建QueueSession对象
QueueSession session=connection.createQueueSession(false,

QueueSession.AUTO_ACKNOWLEDGE);//第一个true表示
//需要事物,就是说最后需要commit(),false的时候需要自动的提交,第二个参数是响应模式:

对方收到消息后,自动向服务器响应
//获取Destination对象
Queue queue=(Queue) context.lookup("queue/myqueue");
//创建文本消息
TextMessage msg=session.createTextMessage("hello world!!");
//创建发送者
QueueSender sender=session.createSender(queue);
//发送消息
sender.send(msg);
//关闭会话
session.close();
connection.close();
System.out.println("消息已经发送");
}

}
---------------------------------------------------------------------
4.引入EJB3.0的jar包
5.写入:jndi.properties

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值