现在的位置: 首页 > 综合 > 正文

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

2019年09月15日 ⁄ 综合 ⁄ 共 2127字 ⁄ 字号 评论关闭
第一个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

抱歉!评论已关闭.