代码之家  ›  专栏  ›  技术社区  ›  megna

convertAndSend方法的正确用法是什么?

  •  1
  • megna  · 技术社区  · 7 年前

    我想知道使用“convertAndSend”方法的正确方法是什么。我检查了AmqpTemplate类中的方法签名。但GitHub中的代码或我发现的代码不符合方法签名原型。 对于eg-

    这些是在密码中找到的-

    template.convertAndSend("Hello, world!");
    

    但方法签名是-

    void convertAndSend(Object message) throws AmqpException
    

    参数是对象消息,但找到的用例是字符串消息。

    找到另一个用例-

    amqpTemplate.convertAndSend("tp.routingkey.1", "Message # " + messagCount++);
    

    这里两个参数都是字符串。但方法签名接近于此- void convertAndSend(String routingKey,Object message)抛出AmqpException;

    因此,即使在这里,在用例中,也使用字符串消息而不是对象消息。

    这将如何工作??这些用例正确吗?? 请帮忙。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Gary Russell    7 年前

    对象可以是任何类型,包括字符串。转换由MessageConverter执行。默认的SimpleMessageConverter可以处理字节[]、字符串或java可序列化。还有一个json转换器。

    阅读文档。