2017-05-09 10 views
-1

シンプルな春のアプリをパソコンで何度も起動できないようにするにはどうすればよいですか?複数回実行している春のアプリを防ぐにはどうすればよいですか?

@SpringBootApplication 
public class MyApp { 
    public static void main(String[] args) { 
     SpringApplication.run(MyApp.class, args); 
    } 
} 

ユーザーは、まだ実行中の場合は2回起動できません。

+1

これを2回起動することはできません.2番目のポートは、一般にポートがすでに使用されているため(Webアプリケーションと見なして)、失敗します。 –

+0

Webアプリケーションではありません... – membersound

+1

起動時にファイルを書き込む 'ApplicationPidFileWriter'を追加してください。あなたのメインでは、(SpringApplication.run'を呼び出す前に)そのファイルが存在するかどうかを確認して好きなことをすることができます。あなたはそれを読んで、プロセスが本当にアクティブかどうかを確認してください。ファイルを削除してアプリを起動するか、起動するだけです。http://docs.spring.io/spring-boot/docs/current/を参照してください。 reference/html/production-ready-process-monitoring.html –

答えて

-1

開始後にプロパティを作成して(MyAppの場合)、ファイルが存在するかどうかを確認します。存在しない場合は、次の行を呼び出してください。

SpringApplication.run(MyApp.class, args); 

アプリケーションが終了すると、プロパティが削除されます。

+2

アプリケーションが終了し、ファイルが削除されなかった場合はどうなりますか? –

+0

これを行うことができます:file.deleteOnExit();問題ない。ありがとうdownvoteありがとう:D –

+0

私はそれが 'java'プロセスがシステムによって殺される場合があり、プログラムでファイルを削除することができないことを意味します。その場合、ファイルはアプリの起動をブロックします。 –

関連する問題