2012-04-03 33 views
1

我想注入一个bean,它将持续在榛色地图条目。在Hazelcast地图商店类的豆注射失败

<map name="storethiselements-map"> 
<backup-count>1</backup-count> 
<map-store enabled="true"> 
<class-name>name.of.MapPersistenceObject</class-name> 
<write-delay-seconds>0</write-delay-seconds> 
</map-store> 
</map> 

这些是用于hazelcast实例的构造函数参数。 在MapPersistenceObject中存在一个负责维持条目的服务。我将MapPersistenceObject标记为组件,并创建了Service-Object Autowired,以便Spring将正确的Service-Bean注入到正确的数据源中。

我试过这个,但我得到一个NullPointer服务应该注入。在我看来,Spring无法使用服务连接或自动装载MapPersistenceObject。它看起来像这样:

@Component 
public class MapPersistenceObject implements 
    MapLoader<Long, DeviceWakeupAction>, MapStore<Long, DeviceWakeupAction> { 
@Autowired 
StoreMapEntries storeMapEntriesService; 
    [...] 

也许有人知道问题的解决方案?

问候& & TIA noircc

回答

10

你应该使用Spring的配置,而不是Hazelcast xml配置。

<hz:hazelcast id="hazelcast"> 
    <hz:config> 
     ... 
     <hz:map name="storethiselements-map" backup-count="1"> 
      <hz:map-store enabled="true" implementation="mapPersistenceObject" write-delay-seconds="0"/> 
     </hz:map> 
     ... 
    </hz:config> 
</hz:hazelcast> 

<bean id="mapPersistenceObject" class="name.of.MapPersistenceObject"/> 

请参阅Hazelcast Spring integration

+0

我使用的是hazelcast spring集成,并且它在启动时出现nullpointer异常,这是我的配置,请你帮帮我。 '' – 2015-01-30 00:46:20

相关问题