首页 理论教育 消息传递接口及其在智能企业系统中的应用

消息传递接口及其在智能企业系统中的应用

时间:2023-11-16 理论教育 版权反馈
【摘要】:消息传递支持松散耦合的分布式接口,其中发送方和接收方只需要确定消息的格式。消息传递也经常用作云服务之间的接口。我们使用JMS来探索消息传递机制和实现。JMSAPI,开发人员可以创建消息、发送消息、接收消息和读取消息。JMSAPI确保消息只传递一次,因此非常可靠。此方法定义消息接收后的操作。(四)消息接口实例智能企业系统使用JMS消息传递服务,向零售商店、批发商和供应商提供消息传递服务。

消息传递接口及其在智能企业系统中的应用

在云平台上,通常采用服务请求者和服务提供者之间的同步通信,即请求者在处理之前等待响应。同步通信通常用于预期完成时间相对较短的服务(秒或分钟)。异步服务也可以在云平台上使用。在异步服务模式中,服务请求者将请求排队到一个端口(例如WSDL文档中指定的端口),但是服务请求者会执行其他工作,而不是等待响应。当服务提供者准备发送响应时,它使用SOAP中的应答地址(如Reply-to Address)发送响应。这种方法适用于长期运行的事务,使用异步通信可以避免用户等待很长时间。

服务将消息(消息)发送到收件人可从中获取消息的位置,这是消息传递机制,它实现异步通信。消息传递支持松散耦合的分布式接口,其中发送方和接收方只需要确定消息的格式(通常是XML数据)。消息传递也经常用作云服务之间的接口。

我们使用JMS来探索消息传递机制和实现。JMS与特定的消息服务器无关,就像JDBC与数据库一样。JMSAPI,开发人员可以创建消息、发送消息、接收消息和读取消息。JMSAPI确保消息只传递一次,因此非常可靠。JMS非常适合不同平台之间的服务接口。例如,使用JMS来实现平台与客户IT系统的对接。一些大型供应商有自己的IT系统。当订单发出时,供应商的IT系统会向云平台发送JMS消息。该平台接收运输信息并更新平台上的数据,因此,订单的客户获得了订单的最新状态。

JMS提供了两种消息传递机制:队列模式和发布-订阅模式。

(一)队列模式

队列,也称为点对点,在概念上类似于邮箱,对应的API是javax.jms.Queue。这种方式需要一个队列。发送方向接收方接收消息的队列发送消息。发送和接收不需要同步,每个消息只有一个使用者。

(二)发布-订阅模式

这种方式有点像公告板,相应的API是javax.jms.Topk。发送者按主题发送消息,系统将来自同一类主题的多条消息分发给订阅该主题的多个收件人。

无论哪种方式,JMS都发送和接收相同的代码。对于接收者来说,有两种接收方式。

①使用接收方法。如果消息尚未到达,请等待;如果超过指定时间,则报告超时错误

②使用消息侦听器的on Message方法。当消息到达时,JMS服务器通过此方法传递消息。

此外,消息处理程序可以是消息驱动的EJB、Java应用程序或其他语言。消息驱动的EJB可以侦听并处理消息(例如调用其他EJB)。与会话Bean和JPA实体不同,消息驱动Bean不需要客户机程序。调用此消息驱动Bean的方法是向消息服务器发送消息。

(三)如何发展信息传递程序

通常,Web应用服务器提供一个或多个默认JMS服务器(JMS提供程序)。它提供了一个消息管理和传递系统。在此基础上,我们可以在Web应用服务器上定义。

数据库连接工厂:包括队列连接工厂和主题连接工厂。连接工厂是到JMS服务器的连接。它有JNDI名称、总线名称等等。您可以将其视为数据库连接。

队列或主题:它有一个JNDI名称。如果定义主题,还需要定义主题空间。在JMSAPI中,队列和主题统称为目的地。你可以把它想象成一个数据表

发送程序是:

·使用注解注入连接工厂和目的地;

·通过连接工厂,创建到JMS服务器的连接;

·使用注解注入连接工厂和目的地;(www.xing528.com)

·通过连接工厂,创建到JMS服务器的连接;

·基于连接创建会话(会话),会话用于创建和读取消息;

·根据会话创建消息用户;

·启动连接;

·基于消息用户接收消息(可能有多条消息);

·关闭邮件用户、会话和连接。

异步接收器是两类。首先,创建一个单独的消息侦听器类,该类实现消息侦听器接口。在该类中实现on Message方法。此方法定义消息接收后的操作。然后将接收方(另一个类)创建为:

·使用注解注入连接工厂和目的地;

·通过连接工厂,创建到jms服务器的连接;

·基于连接创建会话(会话),会话用于创建和读取消息;

·创建消息用户(消息使用者);

·创建消息侦听器(消息侦听器)对象(在开头创建的类的对象),将侦听器对象与消息用户关联;

·启动连接;

·侦听消息,直到用户中止程序,在中止之前,需要关闭消息用户、会话和连接;

·当消息到达时,系统会自动调用上面创建的侦听器的on Message方法。

此外,JMS提供Queue Browser类来查看队列中的每个消息。

(四)消息接口实例

智能企业系统使用JMS消息传递服务,向零售商店、批发商和供应商提供消息传递服务。从零售店到批发商的订单通常包含来自多个销售商的产品。按照传统的方式,批发商单独打电话给制造商,询问制造商有多少库存。订单服务提供自动服务,帮助零售商店立即获得订单确认信息。向零售商店的批发商发送订单信息的过程。批发商收到订单(虚线)并检查库存。如果自己的库存不足,那么批发商系统会自动向多个供应商发送订单。每个供应商都收到订单并检查其库存。如果库存中没有足够的货物,请在当前库存中返回数量值;如果有足够的货物,则返回所需的数量值。所有这些信息都被发送到批发商确认队列中。批发商监听队列(粗行),并根据结果将信息返回给零售商确认队列。零售商店收到自己订单的结果。零售商店的订单处理,跨越多个系统,并在很短的时间内获得结果。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈