我想要注入一个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-instance的构造函数args。 在MapPersistenceObject中,存在一个负责持久化条目的服务。我已将MapPersistenceObject标记为组件并使Service-Object自动连接,以便Spring将使用正确的数据源注入正确的Service-Bean。
我试过这个但是我得到了一个NullPointer,应该注入服务。在我看来,Spring无法将MapPersistenceObject与服务连接或自动装配。它看起来像这样:
@Component
public class MapPersistenceObject implements
MapLoader<Long, DeviceWakeupAction>, MapStore<Long, DeviceWakeupAction> {
@Autowired
StoreMapEntries storeMapEntriesService;
[...]
也许有人知道这个问题的解决方案?
问候&amp;&amp; TIA noircc
答案 0 :(得分: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"/>