2012-11-28 16 views
2

我有其使用吉斯注入静态对象(实时传感器监视对象)进入Application.java一个播放2应用:如何访问Play2应用程序退出的静态注入依赖性

controllers.Application:

public class Application extends Controller { 
    @Inject static MonitorService monitorService; 
    ... 
} 

module.Dependencies:

public class Dependencies { 
    .... 
    @Provides 
    @Singleton 
    public MonitorService getMonitorService(final MonitorFactory factory) { 
     return new MonitorService(factory){ 
       @Override 
       public MonitorService(Factory factory){ 
       return factory.getMonitor(); 
       } 
      } 
    } 
} 

我的问题是,我想进入当打之年的应用程序,以便适当地关闭它退出工厂显示器对象。我已经看过钩住GlobalSettings.onStop但不能看到的方式来提取从Play.Application对象的引用。我曾尝试注射MonitorService到全局类,但所以我假设依赖对象已经被摧毁这个阶段它返回一个空对象。

我也知道这种做法可能是完全错误的;)

任何帮助是极大的赞赏。

回答

0

我假设你正在使用的Typesafe plugin

AFAIK,不幸的是,there is no listener when the plugin被关闭,有一个onStart()方法,但没有任何onStop() method

因此,无论你用叉子叉插件,要么你自己整合吉斯在全局对象的调用onStart /的onStop方法。

+0

感谢Nico,就像我怀疑的一样。谢谢你的帮助。 – flownez