Gọi phương thức của một đối tượng sử dụng Invoke Component trong Mule ESB

Trong bài viết này, mình sẽ trình bày với các bạn cách gọi phương thức của một đối tượng bất kỳ trong Mule ESB sử dụng Invoke Component nhé các bạn!

Đầu tiên, mình sẽ tạo mới một project để làm ví dụ:

Gọi phương thức của một đối tượng sử dụng Invoke component trong Mule ESB

Bây giờ, mình sẽ tạo mới một đối tượng HelloWorld nằm trong package com.huongdanjava.muleesbinvokecomponent.

Gọi phương thức của một đối tượng sử dụng Invoke component trong Mule ESB

Với nội dung như sau:

Để Invoke Component có thể gọi phương thức hello() trong class HelloWorld thì chúng ta cần khai báo đối tượng của class này là một Spring bean.

Vì thế, các bạn hãy mở tập tin mule-esb-invoke-component.xml rồi khai báo đối tượng HelloWorld trong khung chứa của Spring như sau nhé:

Bây giờ, chúng ta sẽ tạo mới một flow để xem Invoke Component làm việc như thế nào nhé các bạn.

Flow của chúng ta sẽ bao gồm HTTP Listener Connector và Invoke Component như sau:

Gọi phương thức của một đối tượng sử dụng Invoke component trong Mule ESB

Trong đó:

  • HTTP Listener Connector được cấu hình như sau:

Gọi phương thức của một đối tượng sử dụng Invoke component trong Mule ESB

General Settings:

Gọi phương thức của một đối tượng sử dụng Invoke component trong Mule ESB

Bạn nào chưa biết cách cấu hình HTTP Listener Connector thì có thể tham khảo bài viết này nhé!

  • Đối với Invoke Component thì mình cấu hình như sau:

Gọi phương thức của một đối tượng sử dụng Invoke Component trong Mule ESB

Ở đây:

– Name là tên của Endpoint.

– Object Ref là id của đối tượng trong Spring bean. Trong ví dụ của mình, đối tượng HelloWorld của mình đã được khai báo với id là invoke trong khung chứa của Spring.

– Method là tên method mà chúng ta muốn gọi. Ví dụ của mình là phương thức hello().

– Method Arguments là giá trị của các tham số mà chúng ta sẽ truyền vào cho phương thức. Nếu có nhiều tham số, thì mỗi giá trị sẽ ngăn cách bởi dấu phẩy. Trong ví dụ của mình, bởi vì phương thức hello() chỉ có một tham số nên mình chỉ khai báo một giá trị. Và giá trị này được lấy từ parameter của request tới HTTP Listener Connector.

OK, vậy là chúng ta đã hoàn thành một flow đơn giản có sử dụng Invoke Component.

Giờ thử chạy xem sao nhé các bạn.

http://localhost:8081/hello?name=Khanh

Kết quả:

Gọi phương thức của một đối tượng sử dụng Invoke Component trong Mule ESB

Add Comment