当可以将消息传递给MDB时,应用程序服务器必须设置调用onMessage方法的环境。
MDB代码也与点到点文章中的代码完全相同;它将输出其所接收到的每个消息的内容。
方法让资源适配器判断关联的MDB是否运行在事务中调用指定方法。
中介流组件和MDB运行在同一服务器中,因此它们的输出同时显示在控制台中。
MDB类不需要定义引用,因为MDB不需要用户代码来接收消息。
现在您准备为会话bean和MDB指定消息目的地。
至少对于MDB,可以在活动规范中指定身份验证信息。
更改MDB的部署描述符,将其配置为从WebSphereESB放置消息的队列获取消息。
作为一种企业bean,MDB由容器来管理,并且通过一个EJB部署描述符进行宣告式的配置。
应用程序包含消息驱动的企业bean(MDB),后者与相同应用服务器中定义的JMS队列相连。
如果我们要指定它,那么就不能在配置时配置MDB来使用任一编程模型。
对于侦听器端口,最大会话属性直接与并发运行的MDB实例数相关联。
JMS可能由异步客户端应用程序(如果它是Java)或MDB使用(通常用于应答队列)。
现在,消息允许被传递给一个消息消费者,例如一个服务提供者或是一个MDB。
这样,MDB方法执行的工作,包括对其它EJB的调用,就会成为事务的一部分。
那么传递到MDB的消息就作为消息的一部分接收。
类似地,对于代理,也只能调用在MDB的部署描述符中声明的接口上的方法。
MDB及其目的地之间的接口由名为激活规范的可配置JMS资源进行定义。
如果任何一个盔甲部件MDB的滤网中缺少这条线,则将导致MDB使游戏崩溃。
接口的第二个方法所表现的那样,实际上可以不用任何参数调用MDB,只用它检索一些值。
可以为同一事件服务的其他JMS提供者安装更多的事件服务MDB。
侦听器端口名称可以是任意字符串,但必须与MDB配置中的名称匹配。
可以编写实现任意接口的MDB,这听起来太棒了,感觉不像是真的——可是它确实是真的。
由于此行为不可预测,所以建议不要对.mdb或.mdf文件使用此选项。
如果MDB确实对事务性(或持久性)没有要求,则请求客户机必须知道要发送非持久性消息。