2017-02-21 8 views
0

Удивительно для меня Set/getCorrelationIdString не работает для меня. Это amqp-client 3.6.5 и другие весна-кролик/amqp 1.6.6. Кто-нибудь еще столкнулся с этим? Я выживаю с помощью Set/getCorrelationId, который работает, но показывает как обесцененный. Любое решение для этого.set/getCorrelationIdString не работает

ответ

0

Это потому, что DefaultMessagePropertiesConverter имеет стратегию по умолчанию, как:

private volatile CorrelationIdPolicy correlationIdPolicy = CorrelationIdPolicy.BYTES; 

Для обеспечения обратной совместимости.

Если вы хотите использовать Set/getCorrelationIdString, вы должны вводить DefaultMessagePropertiesConverter в RabbitTemplate и SimpleMessageListenerContainer с CorrelationIdPolicy.STRING.

+0

Тогда почему Set/getCorrelationId получил амортизацию? Любая идея –

+0

Просто потому, что 'AMQP.BasicProperties' поддерживает только' String' для 'correctId'. Итак, нет причин для преобразования в 'byte []' и обратно в 'String' –

+0

Начиная с версии' 2.0' Spring AMQP больше не путает. И 'get/setCorrelationId' предназначены только для' String'. –