日期:2014-05-16  浏览次数:20466 次

JMS和MDB
发现了一个学习JMS的很好的博客,如果对JMS不熟悉的话,建议认真的看下
http://chenpingpi.iteye.com/category/122594
接下来我们来看看JMS和MDB的关系。MDB是基于JMS技术支撑的,MDB实际上消息的消费者;进一步说,MDB是在标明自己是MDB身份的前提下的消息的消费者,那它就必须做到两点:
一、继承javax.ejb.MessageDriverBean(标明MDB身份)
二、继承javax.jms.MessageListener (说明自己是消费者)
明白了这两点,MDB自然形成,下面给个MDB的开发实例:
引用

import javax.ejb.*;
import javax.jms.*;

public class LogBean implements MessageDrivenBean,MessageListener {

/** 初始化MDB实例**/
public void setMessageDrivenContext(MessageDrivenContext ctx){
  this.ctx = ctx;
}

public void ejbCreate(){
System.out.println("ejbCreate()");
}
/** 业务方法 **/
public void onMessage(Message msg){
if(msg instanceOf TextMessage){
  TextMessage tm = (TextMessage)msg;
  try{
   String text = tm.getText();
   System.out.println(" Received new message :" + text);
}catch(JMSException e ){
  e.printStackTrace();
}
}

/** 销毁MDB实例 **/
public void ejbRemove(){
System.err.println("ejbRemove()");
}

}