2017-08-23 8 views
0

プロパティのいずれかが真の値を持つ場合、フィルタはすべての要求をメンテナンスJSPにリダイレクトする(サーバーは動作していません)Javaフィルタを作成しました。そのプロパティーにfalse値がある場合、フィルターは正しいターゲットにリダイレクトされます。フィルタは、config.propertiesファイルからブール値を読み取ります。私は、サーバーからそのプロパティの新しい値を読み取り作るために何ができるか、私のWebが実行されている場合はポイントは...と私はメンテナンスモードに入れたいJava Webは属性の新しい変更を自動的にどのように読み取ることができますか?

// Read the file property 
private static boolean MAINTENANCE = Boolean.parseBoolean(p.getProperty("maintenance")); 
... 

if(MAINTENANCE) { 
    redirectToURL("maintenance.jsp"); // maintenance JSP 
} 
else { 
    chain.doFilter(request, response); // requested jsp/servlet 
} 
... 

:それはこのようなものですファイル?

私はサーバに接続し、設定ファイルを編集し、 "maintenance"プロパティをtrueに等しい値に設定します...しかし、どうすればWebアプリケーションに読み込ませることができますか?

ありがとうございます!

+1

どのアプリケーションサーバーを使用する予定ですか?これらの回答を見てみましたか:[プロパティファイルの実行時間の更新](https://stackoverflow.com/questions/1659642/java-update-properties-file-run-time)、[プロパティファイルの実行時間の変更] (https://stackoverflow.com/questions/4469774/how-to-change-java-properties-at-runtime)および[実行時のプロパティファイルの更新](https://stackoverflow.com/questions/15761163/update-実行時のプロパティファイル)。 – aribeiro

+0

私はJavaでTomcatを使用しています8 – Ommadawn

+1

次に[この回答](https://stackoverflow.com/questions/9350974/modify-properties-file-in-tomcat-during-runtime)を見てください。さらに、アプリケーションを通して設定ファイルを変更する方法を作ることについて考えるべきです。これにより、リロードをトリガーし、コンテナの初期化時にロードされた値を置き換えることができます。 – aribeiro

答えて

0

@aribeiroのおかげで、私は解決策を達成しました。

WebAppの起動時には、ファイルからプロパティを読み込みます。

属性を変更したいときは、明示的に値を変更する要求(独自の管理パネルから)を使用する必要があります。

関連する問題