tình hình hiện tại của tôi:Mule 3: Kiểm soát cho dù một dòng chảy được phép được thực hiện
Tôi hiện đang có một ứng dụng Mule ESB với ba dòng thông điệp quá trình xuất phát từ hai nguồn khác nhau, ba dòng này được gắn lại với nhau sử dụng hàng đợi VM.
dòng # 1:
Inbound (Endpoint # 1) -> (Thực hiện xử lý tin nhắn và biến đổi) -> Outbound (Endpoint # 3)
luồng # 2:
Inbound (Endpoint # 2) -> (Thực hiện xử lý và biến đổi thư) -> Outbound (Endpoint # 3)
Dòng # 3
Inbound (Endpoint # 3) -> (Thực hiện xử lý tin nhắn và biến đổi, làm công cụ) -> Outbound
Vấn đề/Vấn đề:
Bây giờ những gì tôi muốn làm là giới thiệu một phần tư flow, Flow # 4, nhận thông tin trạng thái từ một điểm cuối trong và dựa vào thông tin này có thể ngăn chặn luồng # 3 được thực thi/ngăn không cho xử lý các thông điệp gửi đến của nó.
Nói cách khác, điều tôi muốn là chạy Flow # 4 khi khởi động ứng dụng ESB (giống như tất cả các luồng dường như tự động làm) và dựa trên thông tin trạng thái mà nó nhận được từ thư đến , ngăn chặn/cho phép hoặc bật/tắt Luồng số 3 từ bao giờ xử lý thư từ Endpoint # 3.
Sau đây là những gì tôi lý tưởng yêu cầu:
Yêu cầu:
- Phải có khả năng để thực hiện chủ yếu thông qua XML dòng chảy con la, không POJO thêm/tùy chỉnh các đối tượng Java.
- Luồng 4 phải được thực hiện khi khởi động ứng dụng ESB và chỉ cần xử lý thông báo gửi đến đầu tiên.
- Lý tưởng nhất, tôi không muốn Dòng số 3 có nguồn nội bộ tổng hợp hoặc phải đánh giá mọi thông điệp gửi đến trạng thái của một số biến toàn cầu.
Cách tốt nhất để hoàn thành những gì tôi muốn làm là gì?
Nếu không có giải pháp thực sự tốt, thì nếu tôi phải bỏ qua yêu cầu # 3 thì cách tốt nhất để thực hiện biến toàn cầu được chia sẻ giữa hai luồng độc lập không được liên kết với nhau bởi một số đi -> đầu cuối vào trong cấu hình XML? Tôi đã thử sử dụng các thuộc tính phiên, nhưng chúng yêu cầu các luồng được gắn với nhau như một luồng con hoặc bởi một điểm cuối.
Cảm ơn.
Tôi sắp đề xuất # 3, nghĩa là. bằng cách sử dụng một biến toàn cục trong sổ đăng ký Mule. Tại sao điều này không được chấp nhận? Ngoài ra, mặc dù không cần lớp Java tùy chỉnh, một số kịch bản MEL/Groovy sẽ là. –
Vâng, một lần nữa các yêu cầu, đặc biệt là # 3 chỉ là những gì tôi muốn lý tưởng. Nhưng nếu không có giải pháp tốt hơn hoặc cách để thực hiện các hành vi mong muốn thì đó là phương sách cuối cùng của tôi. Biến toàn cầu như thế này sẽ được thực hiện như thế nào trong cấu hình XML? Làm thế nào để khai báo trên toàn cầu một biến trong XML ngoài luồng và tham chiếu nó trong các luồng? Cảm ơn. – MikeCompSciGeek