2012-09-19 36 views
0

我正在使用JBoss AS 7.1并利用上下文和依赖注入。这里没有涉及到弹簧。CDI Bean注入在Hazelcast地图存储类中失败

我的问题是我如何注入一个依赖到一个hazelcast MapStore实现?可能有一个程序化的方式?任何帮助表示赞赏。

例如

public class ClientRepositoryCache implements MapStore<Integer, ClientItem> { 

    @Inject 
    ClientRepository repository; 

    @Override 
    public ClientItem load(Integer clientNumber) { 
     return repository.getClientById(clientNumber); 
    } 
} 

回答

1

目前Hazelcast支持依赖注入仅使用弹簧。相反,您可以使用MapStoreFactory,它可以创建您自己的MapStore实例。

查看相关Hazelcast小组帖子;

MapStore/MapLoader configuration

... 要与吉斯整合,例如,您可以提供静态地提供足够的信息注入来实现newMapStore(字符串名称的一个单MapStoreFactory实施的名称,性质属性)与注入器感知逻辑。

如果您像我一样使用编程配置,则可以通过将已注入的工厂传递给MapStoreConfig.setFactoryImplementation来避免静态注入。

-Tim Peierls-

又见MapStoreFactoryMapStoreConfig的javadoc。

+0

这是什么好的代码示例?特别是使用CDI/WELD会有帮助。谢谢 –