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