Mình đã hướng dẫn các bạn cách đọc và sử dụng properties file trong Mule 3, trong Mule 4, thao tác này sẽ khác bởi vì việc đọc và sử dụng properties file trong Mule 4 sẽ không còn liên quan đến Spring framework nữa. Cụ thể như thế nào? Hãy cùng nhau tìm hiểu trong bài viết này, các bạn nhé!
Đầu tiên, mình cũng tạo mới một Mule project sử dụng Anypoint Studio 7 với Mule 4 để làm ví dụ:
Mình cũng tạo một ứng dụng đơn giản với HTTP Listener Connector và Logger component như sau:
Trong đó:
HTTP Listener Connector được cấu hình như sau:
Global Configuration:
Logger component được cấu hình như sau:
Bây giờ mình cũng sẽ định nghĩa một tập tin properties nằm trong thư mục src/main/resource tên là application.properties với nội dung đơn giản như sau:
1 |
author.name=Khanh |
Để đọc tập tin application.properties và sử dụng property author.name trong Mule 4, chúng ta cần làm những bước như sau:
Đầu tiên, các bạn cần cấu hình Global Configuration properties bằng cách mở tập tin mule-esb-properties-file-mule4.xml, chọn tab Global Elements,
Nhấn vào nút Create rồi chọn Configuration properties như sau:
Kết quả:
Nhấn vào nút Browser để chọn tới tập tin application.properties, kết quả như sau:
OK rồi đó các bạn, giờ thì các bạn có thể nhấn nút OK để đóng cửa sổ này.
Để sử dụng property author.name trong Logger component, các bạn có thể khai báo với placeholder như sau:
1 |
<logger level="INFO" doc:name="Logger" doc:id="28bb6f13-0c18-4424-b3c8-15e1841a8bac" message="Hello ${author.name}" category="com.huongdanjava"/> |
Kết quả khi chạy ứng dụng và request tới URL http://localhost:8081/properties-file sẽ như sau:
Để sử dụng được nhiều properties files thì các bạn cần khai báo mỗi properties file với một Global Configuration properties. Ví dụ như sau:
1 2 |
<configuration-properties doc:name="Configuration properties" doc:id="4a48b0e5-7ebd-449d-9c29-4cfa78e6e469" file="application.properties" /> <configuration-properties doc:name="Configuration properties" doc:id="4a48b0e5-7ebd-449d-9c29-4cfa78e6e462" file="application2.properties" /> |
Mule 4 chưa hỗ trợ tính năng ignore-resource-not-found như Mule 3 với Spring framework các bạn nhé!