2015-10-29 54 views
0

对于一般设置,我遵循此tutorial。现在,在我的guice模块中,我想根据服务器配置传递构造不同的单例。问题是我无法在这里获得配置。我怎么能做到这一点?Dropwizard + Guice Bundle在模块中获取应用程序配置

public class ServerModule implements Module { 
    @Override 
    public void configure(Binder binder) { 
    } 

    @Provides 
    @Singleton 
    public AnInterface provideSingleton() { 
     return myServerConfiguration.isSomething() 
       ? new SomeObject() : new SomeOtherObject(); 
    } 
} 

回答

-2

如果你再仔细阅读本教程中,你会看到他们是怎么做的正是这一点:通过让吉斯注入配置成提供了方法。

来自实例给出的链接复制:

@Provides 
@Named("message") 
public String provideMessage(ServerConfiguration serverConfiguration) { 
    return serverConfiguration.getMessage(); 
} 
+0

但这似乎不是单身的工作:1)dropwizard环境尚未建立。这可能是由于在引导阶段尝试访问dropwizard环境造成的。 – KIC

+0

这是正确的。 DW抱怨环境尚未确定。 – Patricio

+0

我还没有使用dropwizard一段时间,所以我不能确认,但我想这很奇怪,这个答案被同时接受和downvoted ...也许有更多的洞察力的人可以想出一个新的答案? –

相关问题