GlobalSettings onStart fires only after first requ

2020-03-24 07:40发布

问题:

I need to run some code only once when I starts the play server. When using the GlobalSettings.OnStart() I notice that the code is executed only after the first (http) request to the server. Any idea how can I run my code just after the server starts and before any request is sent?

Thanks

回答1:

That is the behavior when the application is in development mode, play run. When it's running in production mode, play start, then your onStart method will run immediately when the application starts prior to any requests.



回答2:

You can emulate that (or I should say, workaround this unfortunate dichotomous design), by using this plugin, which, I find useful also in general:

addSbtPlugin("com.jamesward" % "play-auto-refresh" % "0.0.11") (plugins.sbt)

And no, it is not really currently documented in any right place, that this is how OnStart works.