2010-03-09 19 views
6

Tôi cần quyết định khung cấu hình nào sẽ sử dụng. Tại thời điểm này tôi đang nghĩ đến việc sử dụng các tệp thuộc tính và các tệp XML. Cấu hình của tôi cần phải có một số nhóm nguyên thủy, ví dụ: trong XML định dạng sẽ là một cái gì đó như:Java: khung cấu hình nào sẽ sử dụng?

<configuration> 
    <group name="abc"> 
     <param1>value1</param1> 
     <param2>value2</param2> 
    </group> 
    <group name="def"> 
     <param3>value3</param3> 
     <param4>value4</param4> 
    </group> 
</configuration> 

hoặc một tập tin thuộc tính (một cái gì đó tương tự như log4j.properties):

group.abc.param1 = value1 
group.abc.param2 = value2 

group.def.param3 = value3 
group.def.param4 = value4 

tôi cần hai chiều (đọc và viết) thư viện cấu hình/khung. Tính năng tuyệt vời sẽ là - tôi có thể đọc các nhóm cấu hình khác nhau như các đối tượng khác nhau, vì vậy sau này tôi có thể chuyển chúng đến các địa điểm khác nhau, ví dụ: - Đọc tất cả mọi thứ thuộc về nhóm "abc" như một đối tượng và "def" như một đối tượng khác. Nếu điều đó là không thể, tôi luôn có thể tách đối tượng cấu hình đơn thành các đối tượng nhỏ hơn trong phần khởi tạo ứng dụng của khóa học.

Framework nào phù hợp nhất với tôi?

Trả lời

4

Cách đơn giản nhất để làm điều này sẽ được sử dụng XML đơn giản. Nó có thể liên kết XML với Java POJO theo cách rất đơn giản. Ngoài ra, nó còn nhanh hơn nhiều so với các khung công tác liên kết XML khác.

http://simple.sourceforge.net

Chỉ 270K không phụ thuộc.

1

Hãy xem tại URL này: http://issues.apache.org/jira/browse/CONFIGURATION-394

Khung cấu hình mà chúng tôi đang tìm kiếm nó là cái gì trên đầu trang của Commons Cấu hình Apache và phải hỗ trợ truy cập đồng thời vấn đề, vấn đề JMX và hầu hết các cửa hàng (ví dụ. tệp thuộc tính, tệp .xml hoặc PreferencesAPI).

Nhóm weblogic cung cấp trên 'Bảng điều khiển quản trị' là intersting mà qua đó bạn có thể cập nhật giao dịch (nguyên tử) trên cấu hình để người nghe đăng ký được thông báo.

Những người Apache nhấn mạnh rằng dự án này nằm ngoài phạm vi cấu hình Commons, có thể!

Tôi đã đính kèm một khung cấu hình đơn giản, hãy xem xét xin vui lòng

Các vấn đề liên quan