2012-09-19 41 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會有幫助。謝謝 –