首页 热点资讯 义务教育 高等教育 出国留学 考研考公

Java消息服务传递消息方式

发布网友 发布时间:2024-08-18 03:52

我来回答

1个回答

热心网友 时间:2024-08-21 21:03

Java消息服务(JMS)提供了两种主要的消息传递机制。首先,NON_PERSISTENT类型的讯息,其设计为单次投递,这意味着如果接收端未及时接收,消息可能会丢失。相比之下,PERSISTENT消息采用暂存并重发的策略,即使服务离线,消息也不会丢失,但需要服务恢复连接后才会继续传递。默认情况下,JMS使用非持久性消息传递,以减少内部操作和内存需求,但只适用于不需要接收所有消息的情况。


尽管JMS规范并未强制要求供应商实现消息的优先级路由,但确实支持消息的优先级处理。JMS定义了从0到9的优先级级别,其中0为最低优先级,9为最高优先级。值得注意的是,0到4的优先级范围表示常规优先级变化,而5到9则代表加快的优先级。例如,下面的代码片段展示了两种消息模型的使用方式:



topicPublisher.publish(message, DeliveryMode.PERSISTENT, 8, 10000); // Pub-Sub


queueSender.send(message, DeliveryMode.PERSISTENT, 8, 10000); // P2P



这些代码指定消息为持久性传递,优先级设定为加快型,生存周期为10000毫秒。如果生存周期设为零,消息将永久有效。在需要设定消息失效时间的场景中,设置生存周期是非常有用的策略。
扩展资料

Java消息服务(Java Message Service,JMS)是一组Java应用程序接口(Java API),它提供创建、发送、接收、读取消息的服务。由Sun公司和它的合作伙伴设计的JMS API定义了一组公共的应用程序接口和相应语法,使得Java程序能够和其他消息组件进行通信。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com