异构系统之间数据交换的方式
1、Webservice
2、JMS
3、Mid-Table
4、FTP and other solution
5、RMI
rpc有一个通用的结构,就是serialization/deserialization+stub+skeleton
动态代理 分布式对象
Webserice 采用同步的方式在不同系统进行数据传输。
JMS 提供同步/异步不同的方式进行数据传输。
JMS 优点:
1、异构集成。
2、缓解系统瓶颈
3、异步处理
JMS 消息传输模型
1、点对点
点对点模型 支持 异步的即发即弃模式,以及同步的请求应答模式; 基于拉取或者是基于轮询的消息传送模式
2、发布订阅模式 推送模式
JMS API 分为三部分: 公共的API,点对点API,以及发布/订阅API
公共API 核心接口:
ConnectionFactory,Destination, Connection, Session, Message, MessageProducer, MessageConsumer
在JMS中,Session对象保存着用于消息传输的事务性操作单元。也就是说在使用JMS时,一个应用程序通常只有一个Connection对象。
点对点API
QueueConnectionFactory,Queue,QueueConnection,QueueSession,Message,QueueSender,QueueReceiver
发布/订阅API
TopicConnectionFactory,Topic,TopicConnection,TopicSession,Message,TopicPublisher,TopicSubscriber
一个JMS 消息包含 消息头,消息属性,以及消息数据本身。
消息头包含的属性:
destination,messageid,JMSTimestamp,JMSReplyto,JMSCorrelationID,JMSType,JMSExpiration,delivermode
消息属性:
应用程序属性
消息类型:
TextMessage,StreamMessage, MapMessage, ObjectMessage, ByteMessage
客户端确认消息:
AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE
--------------------------------------------------------------------------
点对点模型
1、消息通过队列来
发布/订阅模式
持久订阅/ 非持久订阅
createSubscriber
createDurableSubscriber
取消订阅
subscriber.close
subscriber.unsubscribe
------------------------
消息过滤
保证消息传输和事务
消息确认:
AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE
事务性消息
数据交换平台 事务处理 跟 JMS事务处理 类似
事务由JMS提供者 管理
丢失连接
ExceptionListener接口
分享到:
相关推荐
《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开发的关键知识。 ...