iCo*_*unk 2 java playframework playframework-2.3
我想使用,Job所以我可以在应用程序开始时启动它们.现在它似乎已完全从Play中删除了?
我看到了一些人们创建Global类的示例,但不完全确定是否应该使用它来替换Job.
有什么建议?
编辑:如果你要投票,给出一个理由.也许我在问题中遗漏了一些东西,也许这不属于这里.至少有些东西......
在Play 2.0中删除了Job类.
您有一些替代方案,但取决于您的Play版本以及是否需要异步:
对于Play 2.0以来的所有版本,您可以使用Akka Actors计划一次异步任务/ actor,并在启动时通过Play Global类执行它.
public class Global extends GlobalSettings {
@Override
public void onStart(Application app) {
Akka.system().scheduler().scheduleOnce(
Duration.create(10, TimeUnit.MILLISECONDS),
new Runnable() {
public void run() {
// Do startup stuff here
initializationTask();
}
},
Akka.system().dispatcher()
);
}
}
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅https://www.playframework.com/documentation/2.3.x/JavaAkka.
从Play 2.4开始,你可以热切地将单身人士与Guice绑定在一起
import com.google.inject.AbstractModule;
import com.google.inject.name.Names;
public class StartupConfigurationModule extends AbstractModule {
protected void configure() {
bind(StartupConfiguration.class)
.to(StartupConfigurationImpl.class)
.asEagerSingleton();
}
}
Run Code Online (Sandbox Code Playgroud)
该StartupConfigurationImpl会对它在默认构造函数所做的工作.
@Singleton
public class StartupConfigurationImpl implements StartupConfiguration {
@Inject
private Logger log;
public StartupConfigurationImpl() {
init();
}
public void init(){
log.info("init");
}
}
Run Code Online (Sandbox Code Playgroud)
请参阅https://www.playframework.com/documentation/2.4.x/JavaDependencyInjection#Eager-bindings
| 归档时间: |
|
| 查看次数: |
1057 次 |
| 最近记录: |