2016-09-27 29 views
0

私は、JavaでSpringシェルを使用してコマンドラインアプリケーションを作成しています。私は自動更新機能を実装したい。私はSpring-shellが初期化を完了するとすぐに "update for check"コードを実行したいと思います。つまり、歓迎とバージョンノートを印刷した後です。起動後のメソッドの実行が終了しました

これを行う方法はありますか?どのように私はその時点でコードの一部をフックできますか?

答えて

0

あなたは春シェルのこの作品はあまりにも意志ApplicationListener

イベントのドキュメントを見てみましょう7.15.2 Standard and Custom Events

+0

を実装するBeanを作成することができます。 Spring Shell Prints BannerとWelcomeノートの後に特に更新コードを実行したいと思います。 – Jef

+0

私は、Springシェルが1つを出すかどうかをContextEventRefreshおよび/またはContextEventStartedチェックのためにリスナーを書くと考えます。 – JEY

+0

バナーが印刷される前にApplicationListenerが起動しています。現在のところ、SpringShellでこれを行う簡単な方法はありません。なぜなら、( '' AbstractShell'''内の '' ExecutionStrategy''などの)場所はハードコーディングされているからです( '' SimpleExecutionStrategy().. ' '')。 探している場所は '' '' PromptProvider''ですが、これは複数回実行されるため、おそらくあなたのユースケースに合っていません。 バナーの前に火をつける特別な理由はありますか? –

関連する問題