2010-06-06 41 views
4

我有一個應用程序使用servlet從web.xml讀取屬性文件位置的初始化參數。 serlvet然後創建一個類的實例,存儲該文件的位置以供其他程序根據需要進行讀取。這個類有適當的get和set方法。閱讀Java屬性文件的最佳選擇是什麼?

但我的問題涉及訪問屬性:每個程序是否應該在運行時讀取物理屬性文件,還是應該將屬性存儲在內存中?

該屬性目前不在運行時更改,但可能會更改?我已經看到了各種替代方法,但我不確定哪種方法最好。

感謝

摩根先生

回答

6

如果屬性文件並不大,那麼它存儲在內存中可能比從磁盤讀取每次它更加高效。你可能要考慮Apache Commons Configuration。它支持automatic reloading

+0

這似乎是最好的方法。該文件並不大 - 大概有50-100個條目。謝謝。 – 2010-06-06 15:22:14

+2

+1我不知道這個apache commons類。 – Inv3r53 2010-06-06 15:24:43

+0

@Mr Morgan:您也可以考慮將propertiesfile放入classpath或將其路徑添加到classpath中,以便您可以使用文件名來加載它。 – BalusC 2010-06-06 15:30:16

1

是否想要.properties文件中的服務器值? 首先從文件中加載屬性並緩存它們,並在需要時從緩存中爲其提供服務。 有一個文件監視狗,每隔x秒監視一次文件,並在修改文件時重新加載文件中的屬性。

相關問題