2012-11-23 32 views
7

Tôi đã gặp phải sự cố rất lạ với thông báo bất thường gần đây. Đây là kịch bản:BizTalk - Lỗi định tuyến trên thông báo chuyển phát

  • Tôi có một dàn nhạc mà sẽ gửi một thông điệp tới một chiều gửi cổng cấu hình với thông báo giao hàng = truyền (btw send cổng sử dụng adapter FTP, nhưng tôi nghĩ rằng nó doesn' t vấn đề bộ điều hợp là gì).

  • Khi có lỗi nhắn tin, lỗi bị chặn bởi dàn nhạc (do đó có nghĩa là cơ chế thông báo gửi đã hoạt động như mong đợi), thực hiện một số thao tác ghi và sau đó chấm dứt theo chương trình (Hình chấm dứt). Trường hợp nhắn tin vẫn tồn tại và bị treo và tiếp tục lại.

  • Sau khi giải quyết sự cố gây ra lỗi nhắn tin, tôi tiếp tục phiên bản nhắn tin bị treo.

Tại thời điểm này, tôi nhận được 2 trường hợp nhắn tin rất đáng ngờ: lỗi định tuyến cho ACK và phiên bản nhắn tin vẫn hoạt động (nhưng không làm gì cả ...). Tôi chắc chắn rằng trường hợp lỗi định tuyến là thông báo gửi có liên quan đến cá thể nhắn tin hoạt động vì chúng có cùng CorrelationToken. Một chi tiết khác: nếu tôi chấm dứt thể hiện hoạt động, nó sẽ bị tạm ngưng (không thể tiếp tục) và thông báo lỗi cho biết rằng cá thể đã hoàn thành mà không cần tiêu thụ tất cả các thư của nó!

Cuối cùng nhưng không kém, tôi nhận được vấn đề này chỉ trên môi trường nhất định ...

CẬP NHẬT: Nó có vẻ như vấn đề xuất hiện trên hộp BizTalk chạy BizTalk 2006 R2 SP1. Nó không bao giờ xảy ra trên các hộp chạy BizTalk 2006 R2 không có SP1. Tôi sẽ thử và xác nhận điều này ASAP

CẬP NHẬT 2: Dường như tôi đã cập nhật lần cuối: vấn đề xuất hiện sau khi cài đặt SP1 CU1 ... Vì vậy, bước tiếp theo: CUs sau sửa chữa vấn đề.

+0

Không nên thêm thẻ vào tiêu đề. –

+0

Liên quan đến tin nhắn không thể tiếp tục bị treo - google "tin nhắn zombie" – RedEyedMonster

+0

Cảm ơn bạn đã trả lời! Có, tôi đã tìm kiếm theo hướng đó một thời gian.Nhưng các tin nhắn zombie chỉ xuất hiện khi tôi chấm dứt thủ công cá thể nhắn tin hoạt động, vì vậy tôi nghĩ đó chỉ là một tác dụng phụ. Tôi đang điều tra theo một hướng mới: có vẻ như tất cả các hộp có sự cố chạy BizTalk 2006 R2 SP1, trong khi các hộp khác chạy chỉ BTS 2006 R2 không có SP1. – Stuperacci

Trả lời

1

Thực ra không có CU sửa lỗi được mô tả. Nhưng có nhiều hơn: nó có vẻ giống như tất cả các phiên bản BizTalk mới hơn có liên quan: Tôi đã thực hiện các thử nghiệm trên BizTalk 2009 với tất cả CUs và BizTalk 2010 với tất cả CUs, vấn đề vẫn tồn tại !!!

Giải pháp duy nhất tôi tìm thấy là tạo ra một dàn nhạc đăng ký tất cả thông báo giao hàng ... Không phải rất sạch sẽ, nhưng nó thực hiện công việc - ít nhất là hầu hết trong số đó.

Như một vấn đề của thực tế, tôi đã xác định được hơn 1 vấn đề khi bạn enable định tuyến cho thông điệp thất bại với thông báo giao hàng: tài sản AckRequired VÀ token tương quan được sao chép vào thông điệp thất bại chuyển, có nghĩa là một ACK sẽ được xuất bản nếu thông báo thất bại này được tiêu thụ bởi một cổng gửi (ví dụ: cổng gửi ngoại lệ ESB) và ACK này có thể được định tuyến đến dàn nhạc gốc nếu nó vẫn đang thực thi. Nếu vậy, điều đó sẽ kết thúc trong một tình huống zombie cổ điển, vì dàn nhạc không tiêu thụ ACK này! Bây giờ, hãy thử và giải thích cho khách hàng của bạn rằng các nhà phát triển của bạn không bị đổ lỗi ...: p

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