1.注意在写MDB程序的时候,如果是使用的P2P方式的话,可能你写了多个同样的MDBbean,但是  
只会有一个MDBbean被调用,至于是哪一个被调用是随机的,这时候其他的将不会起作用;
一个消息的发送者,只会有一个消息的接收者
2.注意在写MDB程序的时候,如果是使用PubSub模式的访问服务器方式的话,那么如果有多个相 
同的MDBBean,都会被调用,也就是一个消息的发送者,可以有很多个消息的订阅者收到消息
3.示例程序
新建EJB3.0项目:EJBTestP2PANDPubSub_05
a.编写客户端的MDBbean
在com.credream.ejb包下写:
MyQueueMDBBean.java
MyQueueMDBBean02.java
注意:这两个MDBbean的区别在于:System.out.println(" MyQueueMDBBean02被调用了
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();
}
}
}
--------------------------------------------------------
MyTopicMDBBean.java
MyTopicMDBBean02.java
MyTopicMDBBean03.java
这三个的结果区别在于:System.out.println(" MyTopicMDBBean02/ MyTopicMDBBean03被调
用了:[["
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.Topic"),
@ActivationConfigProperty
(propertyName="destination",propertyValue="topic/mytopic")//没有这个名词的queue的
时候,就会创建一个,
//就是通过这个名词得到destination;
}
)
public class MyTopicMDBBean implements MessageListener {
public void onMessage(Message msg) {
TextMessage textMessage=(TextMessage)msg;
try {
System.out.println(" MyTopicMDBBean被调用了:[["
  +textMessage.getText()+"]]");
} catch (JMSException e) {
e.printStackTrace();
}
}
}
-----------------------------------------------------------------------

EJB3.0学习笔记---MDBbean--区分P2P模式和Pub/Sub模式的示例相关推荐

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

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

  2. EJB3.0学习笔记---多接口的时,实现类处理方法:

    EJB学习笔记--- 1.胖客户端:指的是定义的接口太多了,接口做的工作太多; 胖接口: 2.EJB实现类型的定义,用注解的方式,当一个EJBbean,实现了多个接口的时候, 需要用注解的方式指明哪一 ...

  3. EJB3.0学习笔记---JMS/MDB/Pub/Sub/P2P

    JMS:  1.jms是java的消息服务,jms的客户端之间可以通过jms服务进行异步的消息传输,jms支 持两种消息模型,Point--to--Point(P2P)和Publish/Subscri ...

  4. EJB3.0学习笔记--SOAP-AXIS--深入Soap引擎

    1.SOAP: 简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的.简单的.基于 XML 的协    议,它被设计成在 WEB 上交换结构化的和固化的信息. SOAP 可以和现存的许多因特网 ...

  5. EJB3.0学习笔记---理解远程调用服务端和本地调用服务端的区别

    项目目的:理解远程调用服务端和本地调用服务端的区别 1.异常:       javax.ejb.EJBException: Local and Remote Interfaces cannot hav ...

  6. EJB3.0学习笔记---JBOSS 7.1.1 Final版本安装与配置

    一, 下载安装程序 由于JBOSS是免费开源软件,所以可以去官网直接下载即可. 下载地址:(目前最新版本是jboss-as-7.1.1.Final) http://download.jboss.org ...

  7. EJB3.0学习笔记---定义客户端访问接口:

    定义客户端访问接口: 1.回顾:有状态的EJB每次都是一个新的,可以区分客户端状态,无状态的EJB可 以看成是单例的 2.客户端仅通过业务逻辑Bean所定义的接口来访问业务逻辑(跟具体实现无关) 3. ...

  8. EJB3.0学习笔记---Stateless Session Bean的原理:

    新年啦:开通自己的CSDN博客:http://blog.csdn.net/lidew521/ 1.Stateless Session Bean的原理:不是说EJB不可以有状态,而是说EJB不对他 的状 ...

  9. EJB3.0学习笔记---Bean实现多个接口的情况下定义,访问方式:

    2.EJB实现类型的定义,用注解的方式,当一个EJBbean,实现了多个接口的时候, 需要用注解的方式指明哪一个接口是用Remote方式访问,哪一个接口使用 local方式访问 3.实现多个接口的情况 ...

最新文章

  1. python自带的url提取器
  2. 博客园自定义背景(一)
  3. mac m1下golang连接mysql极速入门
  4. windows server 2012 R2 standard 评估版过期重启
  5. IntelliJ IDEA + Maven环境编写第一个hadoop程序
  6. ssh 免密_大数据时代:SSH如何免密码登录?
  7. ZooKeeper在分布式应用中的作用
  8. WebLogic(12C)——windows下安装教程
  9. Linux网络嗅探工具,微软“雪藏”的七个Windows 10强力工具
  10. JDBC Java数据库编程
  11. 原理图端口符号_何为电气原理图和接线图?
  12. win7系统中安装破解版Charles教程 基本使用方法汇总
  13. Delphi控件安装方法
  14. python偶数统计_Python中查询后的偶数总数
  15. 异常处理·EF·准备命令定义时发生错误。有关详细信息,请参阅内部异常
  16. 【汽车制造业】“新三化+新能源”蓝海,加速车企数字化转型进入“深水区”
  17. vuepress build error: window is not defined
  18. 平衡树学习笔记之 fhq Treap
  19. 阿里云PHP-SMS短信服务——验证码发送教程
  20. (简单)华为畅玩5C NEM-AL00的usb调试模式在哪里打开的教程

热门文章

  1. 一个unity2d横版小游戏
  2. 红黑树插入和删除的各种情况分析
  3. 驱动中的资源共享和临界代码保护
  4. 07_支持向量机3_统计学习方法
  5. SpiderData 2019年2月4日 DApp数据排行榜
  6. SSH 上传下载文件
  7. Pandas(鸢尾花案例:groupby, agg, apply)
  8. Struts2国际化——完整实例代码
  9. iOS开发之数据存储之Preference(偏好设置)
  10. win8笔记本关闭小键盘