Play框架拾遗之五:其他知识点
1、Job异步处理 Job可以有结果返回: package jobs; import play.jobs.*; public class MyJob extends Job<String> { public String doJobWithResult() { // 执行一些业务逻辑 return result; } } Job不仅可以设置启动调用(用@OnApplicationStart),还停止时调用: import play.jobs.*; @OnApplicationStop public class Bootstrap extends Job { public void doJob() { Fixture.deleteAll(); } } 如果希望Web应用启动后,能够在执行Bootstrap Job的同时,又能很快地处理到来的请求,可以为@OnApplicationStart注解添加async=true属性:@OnApplicationStart(async=true)。这样应用程序开启后,Bootstrap Job就会作为后台程序异步执行了。不仅如此,所有的异步Job(async=true)也会在Web应用开启之后同时运行。 @OnApplicationStart(async=true) public class Bootstrap extends Job {