首页 > 解决方案 > 如何在 qpid JMS 中设置 ContentType

问题描述

您好这个问题与有关,我想知道是否有任何方法可以ContentType在 JMS 上下文中的 qpid 中设置标头。我们正在使用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) {

      }
    });

标签: jmsamqpqpid

解决方案


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

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


推荐阅读