我正在尝试了解RabbitMQ- Spring AMQP代码。在使用XML文件配置RabbitMQ的情况下,我几乎没有怀疑。
xml的发件人部分如下所示 -
class App(){
private:
Car car;
public:
App():car(){
}
Car& getCar(){
return car;
}
}
发件人代码如下所示 -
getCar()
接收器xml部分如图所示
car
发送方代码中convertAndSend()的参数给出了发送方使用的路由密钥和要发送的消息。但它被发送到什么交换? 我的怀疑是:
发件人使用哪种交换方式发送邮件?它是在xml文件中的标记中指定的那个吗?
如果是,则在标签中 - 交换=" tpExchange"指定交易所的名称或交易所的ID?
在标签中 - 在接收器xml中,是" tpQueue"队列的id或队列的名称?
4.另外,由于标签 - 在接收器xml中没有名称,这段代码是否使用匿名队列?
请帮忙。在很少的网站上寻找它......无法获得更多信息。 感谢。
答案 0 :(得分:1)
是
在<template/>
元素中;需要交换名称,而不是id。
<rabbit:queue id ="tpQueue"/>
由于队列没有名称,因此使用自动删除匿名队列。
在<listener/>
元素中,您必须使用queues
属性引用此类队列,而不是queue-names
属性。如果要使用queue-names
属性,则必须为队列命名。
请参阅XSD文档。