适用于应用集成,提高可伸缩性,通过增加消息接收者,增加吞吐量,但是瓶颈有时在数据库端,
- RPC与JMS的主要区别就是RPC是同步的而JMS是异步的,局部故障不影响整体使用
connectionfactory
connection
session
destination
message
messageproducer
messageconsumer
messagelistener
连接工厂-----连接---会话----消息、消息生产者、消息消费者
目的地--topic、Queue
- 一个connection 对应着多个session 组成一个session池
点对点传送一般来讲使用基于队列的API(其他有发布订阅模型)
QueueConnectionFactory
Queue
QueueSession
Message
QueueSender
QueueReceiver
TopicConnectionFactory
Topic
TopicSession
Message
TopicPublisher
TopicSubscriber
- JNDI是动态的,也是虚拟的,因为JNDI是可以连接其他JNDI,所以这个地址是虚拟的。为什么是动态的呢?
- session比如topicsession有可能是事务性的,什么是事务性的session呢???
- JMS消息体、消息头、消息属性
- 很多set方法设置的消息头
- delivermode 持久非持久
- 过期时间
- replyto 通过replyto消息接收者可以得到发送者或者指定reply的destination,
对于特定的provider,topic和queue有的是new的比如activemq,但是有些呢是create,通用是create的,由session create而来
Topic topic= new ActiveMQTopic("testTopic");
Queue queue = new ActiveMQQueue("testQueue");
TextMessage message = pubSession.createTextMessage();
message.setText(text);
message.setStringProperty("username",username);
publisher.publish(message);
属性是不能被改变的,但是可以被清空
点对点是sender,publisher
一对多是publish、subscriber
如何用JMS传递一个对象呢???是序列化还是ObjectMessage???
payload指的就是消息中存有对象
序列化后的2个类在不同的JVM上,导致的问题??只要建立相同的类就可以,那么必须要求发送方和接收方必须有同样的类
分享到:
相关推荐
《Java高手真经:Java Web高级开发技术》读书笔记模板.pptx 本资源为《Java高手真经:Java Web高级开发技术》读书笔记模板,涵盖了Java EE开发中的各种分布式与业务核心技术。该资源分为三部分,分别是Java高手真经...
2. **数据访问/集成**:提供了JDBC抽象层、ORM(如Hibernate)集成支持以及JMS和邮件发送等功能。 3. **Web模块**:包含面向Web应用程序的Spring功能,如MVC框架。 4. **AOP模块**:用于实现面向切面编程,允许将横...
【Spring 3.x 读书笔记-1】 Spring 框架是 Java 开发中的核心组件,尤其在企业级应用开发中扮演着至关重要的角色。Spring 3.x 版本是其发展过程中的一个重要里程碑,引入了许多新特性和增强功能。在本篇读书笔记中...
8. **JavaMail**和**JMS**:J2EE5提供了对邮件和消息队列的API,如JavaMail API用于发送和接收电子邮件,而Java Message Service (JMS) API则用于实现企业级的消息传递。 在压缩包的"src"目录下,很可能是包含了...
- **服务范围**:Apache擅长处理HTML、CSS、JavaScript等静态资源,Tomcat则擅长处理动态内容,而JBoss提供更全面的服务,包括事务管理、安全性和JMS等。 5. **GET和POST的区别** - **请求类型**:GET是从服务器...
读书和笔记 OpenMessaging 云原生,与供应商无关的开放式规范,用于分布式消息传递 Jafka 一个快速,简单的分布式发布-订阅消息系统(mq) Nanomsg nanomsg是一个消息通信组件 - zeromq的作者之一用C语言重写的通信...
- **JMS**:对于异步通信,JMS允许应用程序通过消息队列进行通信,提高系统的可扩展性和解耦性。 - **JPA**:JPA简化了对象关系映射,使得Java对象可以直接与数据库交互,减少了手动编写SQL的需求。 3. **部署**...
**J2EE精华学习笔记** J2EE,全称为Java 2 Platform, Enterprise Edition,是Java平台上用于构建企业级分布式应用程序的框架。本学习笔记旨在深入解析J2EE的核心概念和技术,帮助读者全面掌握J2EE开发的关键知识。 ...