消息头的值由JMS提供者来设置,开发者setJMSXxx()分配的值忽略。

JMSDestination

消息头使用一个Topic 或 Queue 对象来标识目的地。

Topic destination = (Topic) message.getJMSDestination();

JMSDeliveryMode

在JMS 中,传送模式有两种类型:持久模式和非持久模式。

一条持久性消息应该被传送“一次而且仅仅一次”,这就意味着如果JMS 提供者出现故障,该消息并不会丢失,它会在服务器恢复正常之后再次传送。

一条非持久性消息最多只会传送一次,这意味着如果JMS 提供者出现故障,该消息可能会永久丢失。

在持久性和非持久性这两种传递模式总,消息服务器都不会将一条消息向同一消费者发送一次以上。

int deliveryMode = message.getJMSDeliveryMode();
if (deliveryMode == DeliveryMode.PERSISTENT) {...
} else {...
}

传送模式可以使用生产者(TopicPublisher 或 QueueSender)的 setJMSDeliveryMode() 方法来设定。默认为PERSISTENT

// 在消息生产者上设置JMS 传送模式
TopicPublisher topicPublisher = topicSession.createPublisher(topic);
topicPublisher.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

JMSMessageID

JMSMessageID 是一个String 类型的值,它唯一地标识了一条消息。至于标识符是如何实现唯一的,这取决于厂商。

String messageId = message.getJMSMessageID();

JMSTimestamp

JMSTimestamp 由 MessageProducer 在调用send() 操作时自动设置。它包含的是JMS 提供者接收消息的时间,而不是该消息实际传送的时间。

long timestamp = message.getJMSTimestamp();

JMSExpiration

一个Mesage 对象的有效期(expiration date)用来防止把过期的消息传送给消费者。

long timeToLive = message.getJMSExpiration();

消息的有效期以毫秒为单位,使用setTimeToLive() 方法在生产者(TopicPublisher)上设置:

TopicPublisher topicPublisher = topicSession.createPublisher(topic);
// 将生存时间设置为1 小时(1000毫秒 * 60 * 60)
topicPublisher.setTimeToLive(3600000);

默认将timeToLive 设置为零(0),这表明该消息没有到期时间。

JMSRedelivered

JMSRedelivered 消息头表示该消息将被重新传送给消费者。如果消息被重新传送,JMSRedelivered 消息头就为 true,否则为 false。

boolean isRedelivered = message.getJMSRedelivered();

JMSPriority

消息优先级有两类:0~4级是普通优先级,而5~9级则是加急优先级。加急优先级的消息要比普通优先级的消息优先传送:

int priority = message.getJMSPriority();...TopicPublisher topicPublisher = topicSession.createPublisher(topic);
topicPublisher.setPriority(9);

Java消息服务~自动分配的消息头相关推荐

  1. Java消息服务~开发者分配的消息头

    生产者传送该消息之前在Message 对象上设置 JMSReplyTo 有些情况下,一个JMS消息生产者可能会要求消费者对一条消息做出应答.JMSReplyTo 消息头包含了一个javax.jms.D ...

  2. dhcp服务器分配指定ip,DHCP服务(自动分配IP、绑定固定IP)

    DHCP协议 DHCP(Dynamips Host configuration Protocal)动态主机配置协议是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局域网环境或者存 ...

  3. 微服务 —— 消息服务中间件 JMS

    一.消息服务中间件 对于大多数应用来说,可采用消息服务中间件来提升系统异步通信,消息解耦问题. 消息的作用:异步处理.应用解耦.流量削峰. 异步消息中的两个概念:消息代理.目的地 当消息发送者发送消息 ...

  4. 微众银行的金融级消息服务平台建设实践和思考

    来自:阿里巴巴中间件 导读: 近年来,随着微服务架构的流行,分布式消息引擎在物联网.分布式事务.实时计算和大规模缓存同步等场景中的应用日益增多.本文将分享微众银行基于RocketMQ构建消息服务平台的 ...

  5. 消息服务MNS和消息队列ONS产品对比

    目前两个产品的区别如图: 对比项目 消息服务(MNS,原MQS) 消息队列(ONS) queue模型 Yes(支持长轮询) Yes topic模型 Yes Yes 官方SDK Java,C++,Pyt ...

  6. Java消息服务JMS详解

    2019独角兽企业重金招聘Python工程师标准>>> JMS: Java消息服务(Java Message Service) JMS是用于访问企业消息系统的开发商中立的API.企业 ...

  7. JAVA消息服务JMS规范及原理详解

    一.简介 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进 ...

  8. JMS : Java Message Service (Java消息服务)之一 [转]

    为什么80%的码农都做不了架构师?>>>    1 引言 1.1 编写目的 本文作为B2bi项目中开源产品JORAM的使用指导文档,旨在帮助项目组人员方便明了的进行JMS模块的详细设 ...

  9. ActiveMQ学习总结(5)——Java消息服务JMS详解

    JMS: Java消息服务(Java Message Service) JMS是用于访问企业消息系统的开发商中立的API.企业消息系统可以协助应用软件通过网络进行消息交互. JMS的编程过程很简单,概 ...

最新文章

  1. 第一记: JS变量类型判断(VUE源码解读)
  2. shell 语法格式
  3. STM32cube HAL库 UART串口中断方式收发任意长度 调试笔记
  4. kubeadm部署k8s_(Ansible)三分钟部署一套高可用/可扩展的kubeadm集群
  5. wxWidgets:键盘 wxWidgets 示例
  6. ps自定义形状工具_PS教程——用PS绘制虚线的三种方法
  7. Java006-面向对象(继承)
  8. (转)Spring Boot 2 (十):Spring Boot 中的响应式编程和 WebFlux 入门
  9. C++中的两个知识点
  10. 字节回应阿里涉侵犯男员工曾面试并通过一面;HarmonyOS 2.0用户数升至5000万|极客头条...
  11. 阿里云ECS+Nginx+nginx_rtmp_module+FFMPEG服务器搭建过程
  12. Python-序列常用方法 + * += extend append方法区别
  13. 根据银行账号判定所属银行
  14. csrss.exe介绍
  15. BTA分论坛现场直击 | 区块链行业应用有待落地,游戏上链冰火两重天
  16. 【文献阅读】机器学习中的超参数窃取Stealing Hyperparameters in Machine Learning
  17. 29、NeRV: Neural Reflectance and Visibility Fields for Relighting and View Synthesis
  18. momentum chrome 插件安装
  19. Nginx的proxy_pass和fastcgi_pass
  20. 如何才能实现自己的梦想

热门文章

  1. 美团点评技术年货:一本覆盖各技术领域、1200+页的电子书
  2. 论文浅尝 | 当知识图谱遇上零样本学习——零样本学习综述
  3. docker挂载文件躺过的坑
  4. 论文阅读课4-Long-tail Relation Extraction via Knowledge Graph Embeddings(GCN,关系抽取,2019,远程监督,少样本不平衡,2注意
  5. Aligning Plots in a Column作图列对齐
  6. MicroPython (一)点亮我的Led
  7. IP地址的分类——a,b,c 类是如何划分的
  8. CSS学习-网页导航栏
  9. 软件工程实践小队Scrum Meeting
  10. 计算机网络——数据链路层的概述