ユーザーが介入せずにプログラムを再起動しようとしています。プログラムでSpring起動アプリケーションを再起動する/ Springコンテキストを更新する
基本的には、アプリケーションのモードを切り替えることができるページがあります(実際には現在アクティブなプロファイルを切り替えることを意味します)。わかっている限り、コンテキストを再起動する必要があります。
context.close()
application.setEnvironment(context.environment)
ClassUtils.overrideThreadContextClassLoader(application.javaClass.classLoader)
context = application.run(*argsArray)
私がやる瞬間がcontext.close()
JVMはすぐに存在するしかし:
現在、私のコードは、それが(これは方法によってKotlinである)だけ再起動ビットのためだ、非常に簡単です。私もcontext.refresh()
を試しましたが、それはTomcat/Jettyを殺す(Tomcatの問題の場合にのみ両方を試しました)と思われ、何も起こりません。
私はProgrammatically restart Spring Boot applicationも見たことがありますが、それらの回答から何もうまくいかないようです。さらに、私は、おそらく/restart
エンドポイントを持っているスプリングアクチュエータを見ましたが、それはもはや存在しないようですか?
助けていただければ幸いです。ありがとう。
私はちょうど最後の時間春 - クラウドについて何かを読んで、アルリフレッシュし 'リフレッシュendpoint'がありました文脈の中の豆。たぶんあなたはそこに役立つ何かを見つけるでしょう。 [Refresh Scope](http://projects.spring.io/spring-cloud/spring-cloud.html) – Patrick
なぜこのタグは "java"ですか? –
誰かがJavaやKotlinのソリューションを持っているかどうかは気にしなかったので。 Kotlinはこの問題に意義はない。 – Crembo