0

I need a method to be called every time play reloads so I can use the new classes to rescan some stuff. How can I get that without developing a full blown plugin? ( I really just want to add something quick to my application and move on).

On a side note, is there any good tutorial on doing a play plugin?

thanks, Dean

4

2 回答 2

2

每次您的应用程序重新加载(可能通常处于开发模式)时,都会调用 @onApplicationStart 方法。

因此,只需使用 @onApplicationStart 创建一个引导作业,您就可以实现所需的功能。

您可以通过查看引导作业的 Play 文档来了解更多信息 - http://www.playframework.org/documentation/1.2.5/jobs#concepts

于 2012-08-08T18:12:10.473 回答
1

好吧,如果你有任何像 NoSql.em() 这样运行很多的方法,而 NoSql 在另一个 jar 文件中,它不会在 Play.classloader 中,在那个方法中,我最后做了一个 Play.classloader.getAnnotatedResources( ) 这给了我一个列表,我一直在比较第一个列表,当它发生变化时,我知道播放已重新加载。目前,这种 hack 对我有用,nosql 层现在与内存中的 nosql 数据库保持一致。

虽然@OnApplicationStart 不被称为“每次”单次播放重新加载,但您可以使用上述方法知道它何时重新加载 100% 的时间,而不是 75% 的时间,这与使用 @OnApplicationStart 的情况有关。

于 2012-08-08T19:11:16.267 回答