我的問題是每次更換Liferay portal-properties
後(特別是在新門戶網站項目開始時頻繁發生),我需要重新啓動整個門戶。是否可以在不重新啓動整個Liferay門戶的情況下反映portal-ext.properties中的更改?
我可以通過掛鉤設置一些屬性,這些值將在重新部署後更改。此外,必須能夠在運行時更改大多數門戶屬性。
但是,您是否知道一些方法來反映portal-ext.properties
中的更改,而無需重新啓動Liferay門戶?
我的問題是每次更換Liferay portal-properties
後(特別是在新門戶網站項目開始時頻繁發生),我需要重新啓動整個門戶。是否可以在不重新啓動整個Liferay門戶的情況下反映portal-ext.properties中的更改?
我可以通過掛鉤設置一些屬性,這些值將在重新部署後更改。此外,必須能夠在運行時更改大多數門戶屬性。
但是,您是否知道一些方法來反映portal-ext.properties
中的更改,而無需重新啓動Liferay門戶?
這也被要求在Liferay的論壇:
https://www.liferay.com/community/forums/-/message_boards/message/800954
但恐怕大多數屬性是門戶只在啓動時讀取一次。 通常,在這種情況下使用屬性文件有這個缺點。
甚至還有在Liferay的這個開放式的問題,但仍然沒有得到解決:
如果您創建一個鉤子以覆蓋門戶屬性,那麼只需部署該鉤子即可在不重新啓動門戶的情況下更改屬性。
請注意,您無法使用鉤子修改所有屬性。有關可修改的列表,請查看:https://docs.liferay.com/portal/6.2/definitions/。
我剛剛搜索重新加載portal-ext.properties並降落在這裏。 好的 - 不是Liferay中的一個功能。
所以我會用一個老把戲我喜歡:
重新加載它們,每當你想通過
Properties customProperties = new Properties();
customProperties.load(new FileInputStream(new File(System.getProperty("catalina.base"), "conf/filename.properties")));
我必須承認,我還沒有在Liferay的-portlet的環境試過,但此係統屬性(「catalina.base」)應該是該類別中的可用至少通過使用一些Liferay-Helper-Class。