Java JMS 1.1规范详解与应用架构

5星 · 超过95%的资源 需积分: 31 12 下载量 65 浏览量 更新于2024-09-19 收藏 711KB PDF 举报
"Java_JMS+API.pdf" 是一本关于Java消息服务(JMS)1.1规范的中文翻译文档,由卫建军编写。JMS在Java领域中扮演着关键角色,它是一个用于处理异步通信的标准,适用于分布式系统中的消息传递。作者希望通过翻译这些规范,帮助那些对J2EE技术感兴趣的开发者克服语言障碍,深入了解J2EE架构。 文档涵盖了多个J2EE规范,包括EJB3简化版、J2EE 5.0规范、EJB核心规范、EJB3持久化规范以及JMS 1.1规范,这些都是构建企业级应用程序的重要组成部分。书中首先介绍了JMS的背景和目标,明确了它与Java Mail API的区别,以及与Java其他API如JDBC、JavaBean、EJB组件模型、JTA(Java Transaction API)、JTS(Java Transaction Service)、JNDI(Java Naming and Directory Interface API)和J2EE平台之间的关系。 JMS的要求被详细阐述,它旨在提供可靠的消息传递服务,支持多种消息风格,如发布/订阅模式、点对点通信等。此外,文档还涉及JMS应用的架构,包括如何开发JMS客户端,以及如何考虑安全性、多线程环境和触发式客户端的设计。JMS的消息模型部分深入探讨了消息的背景、目标和具体实现,包括JMS消息的定义和使用场景。 通过阅读这本书,读者不仅能掌握JMS的基本概念,还能理解其在J2EE架构中的定位和作用,这对于理解分布式系统设计和实现具有重要意义。尽管作者强调了自己的英语水平限制可能导致翻译中的瑕疵,但整体上,这是一本有价值的参考资料,对JMS初学者和进阶者都具有很高的参考价值。

详细说一下一下代码:package com.mcloud.market.mq; import com.mcloud.common.constant.Constants; import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.activemq.command.ActiveMQQueue; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jms.config.JmsListenerContainerFactory; import org.springframework.jms.config.SimpleJmsListenerContainerFactory; import org.springframework.jms.core.JmsMessagingTemplate; import javax.jms.ConnectionFactory; import javax.jms.Queue; @Configuration public class ActiveMQConfig { @Value("${spring.activemq.broker-url}") private String brokerUrl; @Value("${spring.activemq.user}") private String username; @Value("${spring.activemq.password}") private String password; @Bean public Queue queue() { return new ActiveMQQueue(Constants.PREFIX + ".amount"); } @Bean(name = "messageQueue") public Queue amountQueue() { return new ActiveMQQueue(Constants.PREFIX + ".message"); } // 在Queue模式中,对消息的监听需要对containerFactory进行配置 @Bean("queueListener") public JmsListenerContainerFactory<?> queueJmsListenerContainerFactory(ConnectionFactory connectionFactory) { SimpleJmsListenerContainerFactory factory = new SimpleJmsListenerContainerFactory(); factory.setConnectionFactory(connectionFactory); factory.setPubSubDomain(false); return factory; } @Bean public ConnectionFactory connectionFactory() { return new ActiveMQConnectionFactory(username, password, brokerUrl); } @Bean public JmsMessagingTemplate jmsMessageTemplate() { return new JmsMessagingTemplate(connectionFactory()); } }

2023-06-06 上传