JMS开发例子.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
JMS(Java Message Service)是Java平台中用于创建和交换消息的应用程序编程接口。它提供了一种标准的方式,使得不同的应用程序之间可以通过中间件进行异步通信。在JMS开发中,通常涉及到生产者(发送消息)、消费者(接收消息)以及消息中间件(如OpenJMS)。 在本例子中,我们将关注如何使用OpenJMS这一开源JMS实现来搭建服务器并进行消息的发送和接收。你需要从官方网站下载最新版本的OpenJMS,解压缩后在bin目录下运行startup.bat启动服务。这会开启一个新窗口,服务将在其中运行。若需管理服务,可执行admin.bat。 OpenJMS提供了五种不同类型的消息,包括MapMessage、ObjectMessage、StreamMessage、TextMessage和BytesMessage。在本例中,我们主要讨论非结构化消息,即TextMessage和BytesMessage,它们允许灵活的数据交换,尤其是与XML结合时,可以实现更便捷的扩展。对于Java-XML之间的转换,可以参考JAXB(Java Architecture for XML Binding)的相关教程。 服务搭建完成后,我们需要添加相应的JAR文件到项目中,这些文件包括openjms-0.7.6.1.jar、jms-1.0.2a.jar、exolabcore-0.3.7.jar和commons-logging-1.0.3.jar。有了这些库,我们可以编写发送和接收消息的代码。 以下是一个简单的JMS消息发送服务的Java代码示例: ```java package javayou.demo.openjms; import java.util.*; import javax.jms.*; import javax.naming.*; public class QueueSend { public static void main(String[] args) { try { // 初始化JNDI上下文和连接 Hashtable properties = new Hashtable(); properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.exolab.jms.jndi.InitialContextFactory"); properties.put(Context.PROVIDER_URL, "rmi://localhost:1099/"); Context context = new InitialContext(properties); // 获取JMS队列连接工厂 QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory) context.lookup("JmsQueueConnectionFactory"); // 创建JMS队列连接 QueueConnection queueConnection = queueConnectionFactory.createQueueConnection(); // 创建队列Session,设置事务为false,自动确认消息接收 QueueSession queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); // 获得内置队列之一:queue1 Queue queue = (Queue) context.lookup("queue1"); // 创建队列会话和消息生产者 QueueSender queueSender = queueSession.createSender(queue); // 创建消息 TextMessage message = queueSession.createTextMessage("Hello, OpenJMS!"); // 发送消息 queueSender.send(message); // 关闭资源 queueSender.close(); queueSession.close(); queueConnection.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 这段代码展示了如何通过JNDI查找连接工厂,创建队列连接、会话,以及发送TextMessage到名为"queue1"的队列。同样,接收端的代码会创建一个QueueReceiver,并监听该队列,当有新的消息到达时,它会调用消息的onMessage方法。 JMS为分布式系统中的异步通信提供了统一的标准,而OpenJMS则是一个实用的开源实现。通过上述步骤,开发者可以在本地环境中快速搭建JMS服务,并进行消息的发送和接收。在实际应用中,可以根据需求选择不同的消息类型和模式,以适应不同的业务场景。
- 粉丝: 17
- 资源: 26万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助