Huong Dan Java Logger – Phần 4 – Xây dựng Global Configuration

Logger component mặc định của Mule quá đơn giản, chỉ bao gồm message cần log, category và level của message đó.

Huong Dan Java Logger - Phần 4 - Xây dựng Global Configuration

Và với cách bố trí như thế này, các bạn có thể thấy, mỗi khi thêm mới một Logger endpoint trong một Mule Flow, các bạn lại phải configure lại Category của Logger. Sẽ như thế nào, nếu một lúc nào đó mình muốn đổi lại Category cho tất cả các endpoint của Logger? Các bạn cũng hình dung được phải không? Do đó, chuyển phần Category thành một phần của Global Configuration là điều đầu tiên mà mình muốn làm.

Phần thứ hai mà mình muốn thêm vào phần Global Configuration là phần cấu hình cho Correlation Id trong Mule ESB. Các bạn cứ hình dung, vì Mule ESB là một hệ thống Enterprise Service Bus nên sẽ có rất nhiều request từ các hệ thống khác nhau tới nó, Correlation Id giống như một identify để phân biệt request này với request khác. Điều này sẽ giúp chúng ta dễ dàng truy ra được thông tin về các request đang có vấn đề trong trường hợp chúng bị lỗi.

Để thêm Category và Correlation Id vào phần Global Configuration của Huong Dan Java Logger, các bạn hãy mở class ConnectorConfig nằm trong package com.huongdanjava.hdjlogger.config, xoá tất cả nội dung trong phần body của class này rồi thêm những dòng code sau:

Trong đó, class Text nằm ở package com.huongdanjava.hdjlogger.constant dùng để định nghĩa các giá trị text, có nội dung như sau:

Như các bạn thấy trong đoạn code mà mình vừa thêm, 2 thuộc tính mới đã được thêm và được khai báo với annotation @Configurable. Đây là annotation bắt buộc phải có để đánh dấu những thuộc tính này có thể cấu hình được. Trong 2 thuộc tính mới này, mình cũng sử dụng annotation @Placement để chỉ định vị trí xuất hiện của 2 ô Correlation Id và Category. 2 ô này sẽ nằm trong cùng group là Generic và ô Category sẽ nằm sau ô Correlation Id.

Ở đây, mình còn set thêm giá trị mặc định cho ô Correlation Id sử dụng annotation @Default nữa.

Trên đây là tất cả những gì mình làm cho phần Global Configuration của Huong Dan Java Logger.

Để có thể kiểm tra kết quả, chúng ta phải giải quyết thêm một vấn đề nữa.

Bởi vì code mặc định của Connector, mình đã xoá nên hiện tại code trong class HuongDanJavaLoggerComponentConnector đang bị lỗi:

Huong Dan Java Logger - Phần 4 - Xây dựng Global Configuration

Để đơn giản, mình sẽ sửa lại để remove những code bị lỗi như sau:

OK, bây giờ thì các bạn có thể Install or Update connector của chúng ta để xem kết quả rồi:

Huong Dan Java Logger - Phần 4 - Xây dựng Global Configuration

Add Comment