Я использую rabbitMQ для производственного процесса и встроенный Qpid для тестирования интеграции в моем загрузочном приложении Spring. Но я столкнулся с проблемой, когда выбрасывается AmqpRejectAndDontRequeueException - Qpid запрашивает сообщение, а не отбрасывает его. С rabbitMQ все работает нормально.
Я использую Gradle с зависимостями (использовал более старую версию, но после обновления проблема все еще сохраняется):
testCompile("org.apache.qpid:qpid-broker-core:7.1.5")
testCompile("org.apache.qpid:qpid-broker-plugins-memory-store:7.1.5")
testCompile("org.apache.qpid:qpid-broker-plugins-amqp-0-8-protocol:7.1.5"):
Моя конфигурация qpid:
{
"name": "Embedded Broker",
"modelVersion": "6.0", //not working for 7.0 either
"authenticationproviders" : [ {
"name": "password",
"type": "Plain",
"secureOnlyMechanisms": [],
"users": [{"name": "xxx", "password": "xxx", "type": "managed"}]
} ],
"ports" : [ {
"name" : "AMQP",
"port" : "5672",
"protocols": [ "AMQP_0_9_1" ],
"authenticationProvider" : "password",
"virtualhostaliases" : [ {
"name" : "nameAlias",
"type" : "nameAlias"
}, {
"name" : "defaultAlias",
"type" : "defaultAlias"
}, {
"name" : "hostnameAlias",
"type" : "hostnameAlias"
} ]
}],
"virtualhostnodes" : [ {
"name" : "default",
"type" : "Memory",
"defaultVirtualHostNode" : "true",
"virtualHostInitialConfiguration" : "{\"type\": \"Memory\"}"
}]
}
Проблема, похоже, похожа на: Почему basicReject не работает с Apache Qpid? Это известная проблема?