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

时间:2018-03-11 12:56:21

标签: java rabbitmq spring-amqp

我想知道使用该方法的正确方法是什么 - “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。

这将如何运作?这些用例是否正确? 请帮忙。

1 个答案:

答案 0 :(得分:1)

对象可以是任何类型,包括String。转换由MessageConverter执行。默认的SimpleMessageConverter可以处理byte [],String或java Serializable。还有一个json转换器。

阅读文档。