2017-10-03 14 views
0

MQTT와 WebSocket MQTT를 사용하는 RabbitMQ 브로커를 관리합니다. 서버를 테스트하는 동안 의도하지 않게 클라이언트의 마지막 유언을 성문 서류 retain = true으로 표시했습니다. 클라이언트가 LWT 주제에 연결할 때 항상 LWT 메시지를받는 것과 같은 의도하지 않은 결과가있었습니다. 또한 응용 프로그램에서 다운 스트림 문제가 발생했습니다.보존 된 MQTT를 제거하면 RabbitMQ의 메시지가 마지막으로 표시됩니까?

MQTT를 통해 연결할 때 표시되는 경우에도 대기중인 메시지가 관리 콘솔에 표시되지 않습니다. 얼마 후 LWT 메시지가 지워지고 모든 것이 정상으로 돌아갔습니다. 이 경우 브로커에서 보관 된 MQTT 메시지를 식별하고 수동으로 지울 수 없습니다.

RabbitMQ에서 유지 된 모든 MQTT 메시지 (및 LWT 메시지)를보고 제거하는 방법은 무엇입니까?

답변

0

(이것은 또한 어떤 메시지 및 영구 가입을 대기 지워 버리고) 브로커를 중지하고 지속성 DB를 삭제하는 것입니다 mosquitto와 내가 rabbitmq와 확실하지 않다 주제를 유지 삭제에 관해서 퍼지 방법은 사용하기로 결정한 retained message store에 따라 다릅니다.

Disable retained MQTT messages in Rabbit MQ

: 내 경우

, 나는 noop 가게를 통해 모두 유지 메시지의 저장을 해제하기로 결정
1

null 페이로드가있는 메시지를 게시하고 유지 된 비트를 true로 설정하여 동일한 주제에 대해 보유 된 개별 메시지를 지울 수 있어야합니다.

모두 가장 쉬운 방법은