サーバーの再起動、再展開などを永続化するには、プログラムでプロパティを変更する必要があります。基本的に、変更が行われたときにプロパティ ファイルを変更する必要があります。これは可能ですか?現在、プロパティは機能していますが、値はプロパティ フォルダーで変更されません。
String realPath = getPortletContext().getRealPath("/");
FileInputStream in = new FileInputStream(realPath+"json.properties");
Properties p = new Properties();
p.load(in);
System.out.println(p.getProperty("json"));
in.close();
p.setProperty("json", "test");
System.out.println(p.getProperty("json"));
FileOutputStream out = new FileOutputStream(realPath+"json.properties");
p.store(out, "test");
in.close();
out.close();
System.out.println(com.liferay.util.portlet.PortletProps.get("json"));
com.liferay.util.portlet.PortletProps.set("json", "change");
com.liferay.util.portlet.PortletProps.set("new", "change");
System.out.println(com.liferay.util.portlet.PortletProps.get("new"));
portal.properties:
json=help
new=new1
json.プロパティ
json=blank
コード実行時の出力:
ブランク テスト ヘルプの変更
上記のように、通常の Java プロパティを使用してみて、liferay プロパティを使用してみました。基本的に、jsonを取得して編集し、後で使用するために保存する必要があります。再度編集するまで変更を保持する必要があります。