Giới thiệu về Mule Domain Project trong Mule ESB

Khi làm việc với Mule ESB, rất có thể nhiều bạn sẽ gặp trường hợp nhiều Mule application sử dụng chung một resource. Ví dụ như, các bạn có nhiều Mule application có liên quan với nhau, được deploy lên cùng server và một số flows trong các application này sử dụng HTTP Listener Connector với cùng host và port. Vậy làm thế nào để giải quyết vấn đề này? Mule Domain Project là một giải pháp đấy các bạn! Trong bài viết này, chúng ta hãy cùng tìm hiểu về Mule Domain Project trong Mule ESB các bạn nhé!

Mule Domain Project trong Mule ESB là một project chứa những common resources giữa những Mule application. Thay vì trước đây, các global Connectors chỉ được sử dụng trong nhiều flows của cùng một Mule application, nay chúng có thể được sử dụng thêm ở các Mule application khác.

Mọi Mule application đều có một domain riêng. Nếu các bạn mở tập tin mule-deploy.properties trong bất kỳ Mule project nào, các bạn đều thấy ở đây chúng ta sẽ có một property là domain với tên là default.

Đây chính là domain mặc định của các Mule application. Điều này có nghĩa, mỗi Mule application đều có domain riêng và không chia sẻ bất kỳ resource nào của chúng.

OK, giờ chúng ta sẽ thử tạo mới một Mule Domain Project và một Mule Project bình thường trong Anypoint Studio để làm ví dụ xem Mule Domain Project sử dụng như thế nào nhé các bạn. Các bạn có thể tham khảo cách tạo mới một Mule Domain Project tại đây và Mule Project tại đây.

Giả sử mình tạo 2 Mule Project trong workspace của mình như sau:

Giới thiệu về Mule Domain Project trong Mule ESB

Trong đó, mule-esb-domain-project là Mule Domain Project , còn mule-esb-helloworld là một Mule application có một flow với HTTP Listener Connector với Logger Component như sau:

Giới thiệu về Mule Domain Project trong Mule ESB

Flow này sẽ nhận request với parameter name, cho phép chúng ta in ra giá trị của parameter name này ra bằng Logger Component.

Như các bạn đã biết, để cấu hình cho HTTP Listener Connector chúng ta có một phần là General Setting sẽ trỏ đến phần cấu hình cho host, port.

Bây giờ chúng ta sẽ move phần cấu hình này qua bên tập tin mule-domain-config.xml trong Mule Domain Project của chúng ta, mule-esb-domain-project.

Nội dung của tập tin mule-domain-config.xml lúc này sẽ như sau:

Để enable cho project mule-esb-hello-world của chúng ta sử dụng Mule Domain Project, các bạn hãy mở tập tin mule-project.xml trong project này và sửa lại phần Domain như sau:

Giới thiệu về Mule Domain Project trong Mule ESB

Lúc này, thông tin về project mule-esb-helloworld của chúng ta sẽ như sau:

Giới thiệu về Mule Domain Project trong Mule ESB

Bây giờ, chạy lại mule-esb-helloworld project, các bạn sẽ thấy kết quả như sau:

Như vậy là thành công rồi đó các bạn!

Lúc này, nếu các bạn request tới ứng dụng trên với request http://localhost:8081/hello?name=Khanh, console sẽ print log như sau:

 

Add Comment