2017-02-11 45 views
0

我在我的应用程序中使用Scaldi和Play和Slick。如何使用Scaldi条件来执行默认绑定

我需要根据某些条件将DatabaseConfig依赖关系绑定到不同的配置。

  • 模式=开发=> Oracle数据库
  • 模式= UAT =>另一个Oracle DB ...
  • 模式=测试=>本地H2 DB
  • 没有模式指定=>与模式=测试

如何处理最后一部分?我试图做到以下,但它不起作用。

val inDevMode = SysPropCondition(name = "mode", value = Some("dev")) 
    val inTestMode = SysPropCondition(name = "mode", value = Some("test")) or SysPropCondition(name = "mode", value = None) 

    bind [DatabaseConfig[JdbcProfile]] when (inDevMode) to new DbConfigHelper().getDecryptedConfig("gem2g") destroyWith (_.db.close) 
    bind [DatabaseConfig[JdbcProfile]] when (inTestMode) to DatabaseConfig.forConfig[JdbcProfile]("h2") destroyWith (_.db.close) 

回答

0

VAL inTestMode = SysPropCondition(名称= MODE,值=部分( “测试”))或SysPropCondition(名称= MODE,值=无)或 条件(System.getProperty(MODE)== NULL)