新しいクラスを使用していくつかのものを再スキャンできるように、playがリロードするたびに呼び出されるメソッドが必要です。本格的なプラグインを開発せずにそれを取得するにはどうすればよいですか?(私は本当に自分のアプリケーションに何かをすばやく追加して先に進みたいだけです)。
ちなみに、playプラグインを実行するための良いチュートリアルはありますか?
ありがとう、ディーン
新しいクラスを使用していくつかのものを再スキャンできるように、playがリロードするたびに呼び出されるメソッドが必要です。本格的なプラグインを開発せずにそれを取得するにはどうすればよいですか?(私は本当に自分のアプリケーションに何かをすばやく追加して先に進みたいだけです)。
ちなみに、playプラグインを実行するための良いチュートリアルはありますか?
ありがとう、ディーン
アプリケーションがリロードされるたびに(多くの場合、Devモードである可能性があります)、@onApplicationStartメソッドが呼び出されます。
したがって、@ onApplicationStartを使用してブートストラップジョブを作成するだけで、必要なものを実現できます。
ブートストラップジョブのPlayドキュメントを見ると、これについて詳しく知ることができます-http ://www.playframework.org/documentation/1.2.5/jobs#concepts
NoSql.em()のようにたくさん実行されるメソッドがあり、NoSqlが別のjarファイルにある場合、それはPlay.classloaderにはありません。そのメソッドでは、最終的にPlay.classloader.getAnnotatedResources( )リストが表示され、最初のリストを比較し続けます。リストが変更されると、再生がリロードされたことがわかります。今のところ、この種のハックは私のために機能し、nosqlレイヤーはメモリ内のnosqlデータベースで常に稼働しています。
@OnApplicationStartは「毎回」の再生リロードとは呼ばれませんが、上記のメソッドを使用して、@ OnApplicationStartを使用する場合の75%の時間ではなく、100%の時間でリロードするタイミングを知ることができます。