【问题标题】:How to set ContentType in qpid JMS如何在 qpid JMS 中设置 ContentType
【发布时间】:2021-05-02 15:08:13
【问题描述】:

您好,这个问题与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) {

      }
    });

【问题讨论】:

  • FWIW,JmsConnectionFactory 是一个模棱两可的标识符。您应该指定包括包在内的整个类名,以便清楚您正在使用的实际类。
  • 它是 qpid 库,但是我会更新问题

标签: jms amqp qpid


【解决方案1】:

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

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

【讨论】:

猜你喜欢
  • 2021-05-02
  • 2016-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
  • 2017-03-09
相关资源
最近更新 更多