微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 qpid JMS 中设置 ContentType

如何解决如何在 qpid JMS 中设置 ContentType

您好,这个问题与 this 有关,我想知道是否有任何方法可以在 JMS 上下文中的 qpid 中设置 ContentType 标头。我们正在使用 JmsConnectionFactory 和 spring 的 JMS 库。

我试图找到某种使用扩展的方法,但找不到方法,或者甚至可能找不到。

    final org.apache.qpid.jms.JmsConnectionFactory jmsConnectionFactory = new org.apache.qpid.jms.JmsConnectionFactory();
    jmsConnectionFactory.setExtension("headers",(connection,uri) -> {
      if (connection instanceof JmsConnection) {

      }
    });

解决方法

对于从 Qpid JMS 客户端发送的消息,没有设置内容类型的公开方法。客户端本身使用此字段作为 JMS 映射到 AMQP 的一部分,以区分它发送的某些消息类型,并在接收时确定某些消息应呈现的内容。

技术上可以使用反射来获取价值,但您必须从 JmsMessageFacade 类中使用的 API 不是公开的,并且可能随任何版本而改变,因此选择这样做会带来很大的风险。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。