Thay đổi Category cho custom Connector sử dụng Anypoint Devkit trong Mule ESB

Mặc định, khi các bạn tạo mới custom Connector sử dụng Anypoint Devkit trong Mule ESB, category của custom Connector này sẽ là Connectors.

Ví dụ mình tạo mới một Anypoint Connector Project như sau:

Thay đổi Category cho custom Connector sử dụng Anypoint Devkit trong Mule ESB

sau khi mình click chuột phải vào project, chọn Anypoint Connector rồi chọn Install or Update, các bạn sẽ thấy Connector này xuất hiện trong Connectors category của Mule Palete như sau:

Thay đổi Category cho custom Connector sử dụng Anypoint Devkit trong Mule ESB

Về mặt ý nghĩa, nếu Connector của các bạn làm nhiệm vụ kết nối tới một hệ thống nào đó, thì category mặc định này có vẻ đúng. Nhưng nếu nó không làm những chuyện này thì nếu chúng ta cứ để category mặc định cho nó thì không hợp lý cho lắm.

Trong Mule ESB, một Connector có các category như sau:

  • Connectors
  • Scopes
  • Endpoints
  • Components
  • Transformers
  • Filters
  • Flow Control
  • Error Handling
  • Miscellaneous
  • Security

Việc chọn đúng category mà Connector của chúng ta thuộc về sẽ giúp người dùng khi sử dụng Connector của chúng ta cảm thấy thoải mái hơn, hợp lý hơn.

Vậy cách thay đổi category mặc định này như thế nào? Anypoint Devkit cho phép chúng ta làm điều này bằng cách sử dụng annotation @Category (org.mule.api.annotations.Category) trong class chính của Connector của chúng ta.

Trong annotation @Category này, chúng ta có một thuộc tính là name, việc khai báo đúng giá trị của thuộc tính name này sẽ giúp chúng ta set đúng category cho Connector của chúng ta.

Dưới đây là danh sách các giá trị của thuộc tính name trong annotation @Category cho từng category nha các bạn:

  • Connectors (DEFAULT): org.mule.tooling.category.cloudconnector
  • Scopes: org.mule.tooling.category.scopes
  • Endpoints: org.mule.tooling.category.endpoints
  • Components: org.mule.tooling.category.core
  • Transformers: org.mule.tooling.category.transformers
  • Filters: org.mule.tooling.category.filters
  • Flow Control: org.mule.tooling.category.flowControl
  • Error Handling: org.mule.tooling.ui.modules.core.exceptions
  • Miscellaneous: org.mule.tooling.ui.modules.core.miscellaneous
  • Security: org.mule.tooling.category.security

Giả sử bây giờ, mình muốn set category cho Connector trong ví dụ ở trên thành Components, mình sẽ chỉnh sửa class HuongDanJavaConnector để thêm annotation @Category như sau:

Khi đó, các bạn sẽ thấy Connector của mình xuất hiện trong category Components của Mule Palete như sau:

Thay đổi Category cho custom Connector sử dụng Anypoint Devkit trong Mule ESB

Add Comment