2012-03-26 21 views
5

Hệ thống "thử lại" với NServiceBus rất tuyệt. Nó hoạt động tuyệt vời trong việc đảm bảo những thứ nhỏ như ổ khóa chết không làm chúng ta rối tung lên.Có cách nào để yêu cầu NServiceBus không thử lại tin nhắn không?

Tuy nhiên, đôi khi tôi BIẾT rằng thư là xấu. Xấu trong ý nghĩa rằng không có số lượng retries sẽ giúp đỡ.

Có cách nào để nói với NServiceBus: "Thư này là một quả táo xấu, di chuyển nó đến hàng đợi lỗi"? (Và có bỏ qua thử lại không?)

Trả lời

3

Nếu bạn đang sử dụng NSB 3, bạn có thể xem giao diện IManageMessageFailures. Điều này sẽ cho phép bạn cắm chức năng của bạn, nhưng điều này là sau khi tin nhắn đã thất bại. Nếu bạn muốn nhận được thông báo trước đó, hãy xem tính năng Message Mutators. Điều này giúp bạn trong cả hai ở tầng vận chuyển và ở lớp ứng dụng.

+0

Cũng cần nâng cấp lên v3 một chút để tôi có thể làm ngay bây giờ. – Vaccano

+0

Không sao, tôi sẽ xem xét sử dụng Mô-đun tin nhắn. Điều này sẽ cho phép bạn để có được bàn tay của bạn trên tin nhắn trước khi xử lý để đá nó ra. –

1

Gọi điện thoại Bus.DoNotContinueDispatchingCurrentMessageToHandlers(); bên trong trình xử lý có phải là cách đơn giản hơn không?

Các vấn đề liên quan