Java Message System简介

Java消息系统

在本文中,我将讨论面向消息的中间件 (MOM)以及JMS如何在Enterprise Java中实现它。 另外,我将讨论适合JMS使用的典型用例以及用于讨论消息传递解决方案的不同术语,例如Publisher / SenderDestination / Topic / QueueSubscriber / Receiver 。 我将介绍两种消息拓扑: 点对点发布/订阅

资料存取层

在Java EE应用程序的典型体系结构中,数据访问层具有与数据存储通信的技术,例如Java Persistence API (JPA),将应用程序连接到企业信息系统(EIS)的Java Connector Architecture (JCA)。 和Java消息服务 (JMS)。

JMS的作用是什么?

JMS用于在分布式应用程序之间以松耦合异步可伸缩和安全的方式传递消息。 应用程序使用称为目的地的消息导向中间件发送和接收消息。

异步意味着消息的发送者和接收者不需要同时与消息队列交互。 因此,接收者可以在发送消息后的某个时间接收消息。

松散耦合是因为发送方对接收方一无所知,而接收方对发送方一无所知。

可扩展性意味着系统的不同部分可以根据应用程序负载以不同的速率增长。 因此,例如,如果站点上的活动突然爆发导致跨消息传递中间件发送的消息急剧增加,则可以在接收方响应或自动缩放时将消息排队。 这在系统中提供了鲁棒性,否则该鲁棒性将难以处理突然的负载,并且应用程序将开始表现异常或完全停止工作。

何时使用JMS?

何时最佳使用JMS取决于用例,但通常情况下,它将至少属于这些用例之一。

  1. 第一个用例是:应用程序应该能够发送消息,而无需立即对该消息做出响应。 可能对消息的响应是可选的,并且应用程序可以在没有响应的情况下继续其正常功能,或者这纯粹是单向通信。
  2. 其次。 发送者无需依赖接收者的接口,因此可以轻松更换接收者。 这归结为需要对应用程序的某些部分进行解耦。

当接收器关闭时,应用程序应继续运行。 接收器可能损坏,应用程序将继续其正常运行。 这允许鲁棒性。

术语

在谈论JMS时,需要了解一些有用的术语,这些术语可以帮助我们交流意图。

目的地是消息发送的目的地 ,被称为队列主题 。 通常在JMS中将其定义为字符串值。 应该给目的地指定表示其功能的名称。

JMS系统具有发布者发送者 。 这是消息的起源,而订户接收者是消息的终止。 这里使用的术语取决于消息传递系统的拓扑结构,该拓扑结构可以是点对点发布/订阅

消息 ,这些消息有一个有效负载,其中包含有用的信息,接收方将提取并处理这些有用的信息。 消息类型可以是文本,二进制,流,对象或属性映射。

点对点消息拓扑

在点对点设置中,消息的来源称为发件人,目的地称为队列。 在这里,消息被发送到单个目的地,并且接收者仅接收到消息的一个实例。 如果接收器关闭,则消息将保留在队列中,直到接收器启动并再次运行。

发布/订阅消息拓扑

在发布/订阅设置中,消息的来源称为发布者 ,目的地称为主题 。 在这里,许多订阅者可以订阅一个主题,并且每个订阅者都可以接收该消息的实例。 因此,一条消息发送给许多等待的订户 。 如果订户已关闭,则当它重新启动并再次运行时,它将不会收到消息。

进一步阅读

如何学习以下Java EE技术的知识:

RESTful Web服务的JAX-RS

我最近发布了一个迷你系列博客,介绍了JAX-RS 。 他们讨论:

关于JAX-RS主题,有两个深入的系列:

接下来是什么?

如果您是Java EE的新手,那么不知所措要绕过企业生态系统中的所有API。 这就是为什么我编写并记录了视频培训课程Learning Java Enterprise Edition的原因 。 这是一个为期两个小时的课程,向您介绍所有最重要的Java EE API。 关于如何使用Enterprise Java进行编程的大量演示,代码示例和练习任务,将使您成为Java EE开发人员时能说得很透彻。

增进知识

如果您想了解更多信息,那么有些课程将更深入地介绍每个API。 您将学习一门关于JAX-RS API的课程,通过学习如何构造RESTful端点来提高自己的知识。 WebSocket API上有一门课程,您可以学习如何开发聊天应用程序,而JSON上则有一门课程,您可以学习如何掌握JSON-Processing API课程。 即将到来的课程很多,所以为什么不现在就加入并让您的Java EE事业发展呢?

翻译自: https://www.javacodegeeks.com/2017/09/java-message-system-introduction.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值