我想知道使用该方法的正确方法是什么 - “convertAndSend”。我经历了AmqpTemplate类中的方法签名。但是GitHub中的代码或我发现的代码不符合方法签名原型。 例如 -
这些是在代码中找到的 -
template.convertAndSend("Hello, world!");
但方法签名是 -
void convertAndSend(Object message) throws AmqpException
参数是Object消息,但找到的用例是String消息。
找到另一个用例 -
amqpTemplate.convertAndSend("tp.routingkey.1", "Message # " + messagCount++);
这两个参数都是String。但方法签名接近于此 - void convertAndSend(String routingKey,Object message)抛出AmqpException;
所以即使在这里,在用例中,使用String消息而不是Object Message。
这将如何运作?这些用例是否正确? 请帮忙。
答案 0 :(得分:1)
对象可以是任何类型,包括String。转换由MessageConverter执行。默认的SimpleMessageConverter可以处理byte [],String或java Serializable。还有一个json转换器。
阅读文档。