在我的播放应用程序,我为此在Module.configure()
:可以在应用程序启动时阻止一个线程吗?
bind(classOf[GadgetsReader]).toInstance(GadgetsCsvReader)
bind(classOf[Gadgets]).asEagerSingleton()
然后,我这样做:
@Singleton
class Gadgets @Inject()(reader: GadgetsReader) {
val all:Seq[Gadget] = reader.readGadgets()
}
即同步加载一个大集合的小玩意从CSVfile到内存在启动时,在一个Play的渲染线程。
我没有看到Play实例中任何地方实现的类似场景。我想知道我在做什么是惯用的斯卡拉&玩。
是否可以像这样同步加载一个非常大的文件,因为我不想在数据完全加载之前提供任何请求服务?
这是一件好事,我创建了Gadgets
类,然后注入它,而不是静态/对象方法Gadget.all
?
应该Gadget
和Gadgets
上课生活在model
?
任何其他意见,也将不胜感激。
我已经在注射GadgetReader;是否需要注入Gadgets和GadgetReader? –