吉斯:在模块使用的参数(JndiIntegration)

我有这样一个模块

public class JNDITransactionModule implements Module{ @Override public void configure(Binder binder) { binder.bind(TransactionManager.class) .toProvider( JndiIntegration.fromJndi( TransactionManager.class, "URI TO TRANSACTION MANAGER")) .in(Scopes.SINGLETON); } }

嗯,我想我的问题是容易的,但是...我怎么能参数化所“URI TO事务管理器”的价值?

我的意思是,像这样

public class JNDITransactionModule implements Module{ @Override public void configure(Binder binder) { Properties props = getProperties("transaction.properties"); Names.bindProperties(binder, props); binder.install(new TransactionModule()); binder.bind(TransactionManager.class) .toProvider( JndiIntegration.fromJndi( TransactionManager.class, "get @Named('transaction.jndi-uri')")) .in(Scopes.SINGLETON); } }

并呼吁transaction.properties一个配置文件,其中包含此

transaction.jndi-uri = URI TO TRANSACTION MANAGER

谢谢!!!

--------------解决方案-------------

你应该能够使用单独的提供者或@Provides方法。 下面应该工作:

@Provides
@Singleton
TransactionManager provideTransactionManager(@Named("transaction.jndi-uri") String uri) {
return JndiIntegration.fromJndi(TransactionManager.class, uri).get();
}

分类:JNDI 时间:2012-02-29 人气:0
本文关键词: JNDI,吉斯
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.260 (s). 10 q(s)