在EJB3中,一个MDB(消息驱动Bean)就是一个实现了MessageListener接口的POJO,下面就是一个简单的MDB。
@MessageDriven(activationConfig={@ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"), @ActivationConfigProperty(propertyName="destination", propertyValue="queue/testQueue")}) public class SimpleMDB implements MessageListener { public void onMessage(Message message) { try { System.out.println("Receive Message : " + ((TextMessage)message).getText()); } catch (JMSException e) { e.printStackTrace(); } } }
它要求必须标注为@MessageDriven,它所监听Destination通过标注属性来注入。
下面是一个发送消息的StatelessBean:
@Remote public interface IMessageSender { public void sendMessage(String content) throws Exception; }
@Stateless @Remote public class MessageSender implements IMessageSender { @Resource(mappedName="ConnectionFactory") private ConnectionFactory factory; @Resource(mappedName="queue/testQueue") private Queue queue; public void sendMessage(String content) throws Exception { Connection cn = factory.createConnection(); Session session = cn.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = session.createProducer(queue); producer.send(session.createTextMessage(content)); } }
这个EJB只有一个方法SendMessage,ConnectionFactory和Queue通过标注注入。
接下来是客户端:
public class MessageSenderClient { public static void main(String[] args) throws Exception { Properties props = new Properties(); props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); props.setProperty(Context.PROVIDER_URL, "localhost:2099"); Context context = new InitialContext(props); IMessageSender messageSender = (IMessageSender) context.lookup("MessageSender/remote"); messageSender.sendMessage("Hello"); } }
它通过JNDI查找到上面的EJB,然后调用sengMessage。
文章来源:http://www.cnblogs.com/guthing/archive/2010/06/12/1757189.html
相关推荐
MDB Viewer Plus是一款免费的MDB数据库浏览编辑器软件!它不需要安装运行微软提供的数据访问组件( MDAC ),就可以查看,编辑,查询和搜索Access MDB文件! MDB Viewer Plus/MDB数据库浏览编辑软件已经更新到最新版本...
JMS与MDB介绍 基本概念 JMS编程模型 MDB介绍
最近刚好有个项目要连接ACCESS的MDB数据并导入到ORACLE中,使用 Java代码 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");...jdbc:jstels:mdb:smb://login:password@your_server/your_share/mdb_directory/test.mdb
1.视频讲解MDB个人地理数据库批量合并案例,解决FME中数据合并类功能需求。 2.本视频讲解中使用的FME版本为2020.2中文版。 3.本资源仅为视频讲解,用户需自行安装相应版本的FME。
Weblogic10_JMS、MDB分布式部署学习Weblogic10_JMS、MDB分布式部署学习
JMS和MDB的实例代码
MDB CLIβ 创建和托管MDB项目的最快方法。 特征 :light_bulb: 用一个命令启动您的项目⠀-减少您的工作时间!⠀⠀ :check_mark: :blue_book: 使用单个命令发布项目-只需发布并获取链接即可共享 :check_mark:...
李腾飞]JMS与MDB简介.pdf
MDB 数据库 修改工具 MDB数据库修改工具
野蝇-mdb-jms-使用 关于 MDB 和 JMS 的 WildFly 主题
欢迎来到令人激动的MDB工具世界! MDB工具是一组程序,可帮助您从各种设置的Microsoft Access文件中提取数据。 有关最新版本的信息,请参阅文件。组件MDB工具的主要部分包括:的libmdb 允许以编程方式访问MDB文件的...
mdb-sqlite.NET mdb-sqlite.NET 最初基于 [mdb-sqlite] 项目( ),由 Landon Fuller( )创建。 我做了一些修改并将其翻译成 .NET C# 版本。 要使用这个工具,你需要通过 NuGet 安装 [System.Data.SQLite] 包( )...
详细介绍了如何在ArcGIS Engine开发中加载MDB中的数据, 带有C#开发的代码
MDB是处理通过JMS传递的消息的异步消息消费者。虽然MDB负责处理消息,但是由运行MDB的EJB容器负责处理服务(事务、安全、资源、并发、消息确认,等等),使bean开发者把精力集中在处理消息的业务逻辑上。传统的JMS...
MDB 协议MDB 协议MDB 协议
MDB-RS232专业版测试工具,可以通过威佛MDB-RS232适配器对MDB纸币器(08H),硬币器(30H),非现金支付1(10H),非现金支付2(60H),USB设备(40H),年龄验证设备(68H)进行综合测试。当然下载测试工具之前需要...
mdb修改,mdb查看
MDB还原MDB还原MDB还原MDB还原MDB还原MDB还原MDB还原MDB还原MDB还原MDB还原MDB还原MDB还原MDB还原MDB还原MDB还原