第一个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