gpt4 book ai didi

java - Hazelcast map 条目监听器不是来自 Spring

转载 作者:行者123 更新时间:2023-12-02 01:57:47 25 4
gpt4 key购买 nike

我正在尝试使用 Spring 配置 Hazelcast map 以使用条目监听器。但是,我发现它不起作用(事件不会到达监听器)。

我的入口监听器:

public class MyMapListener extends EntryAdapter<String, String> implements MapListener{
@Override
public void onEntryEvent(EntryEvent<String, String> event) {
EntryEventType type = event.getEventType();
System.out.println("Event type: " + type);
}
}

我的 Spring 应用程序上下文:

<hz:hazelcast id="instance">
<hz:config>
<hz:group name="dev" password="password"/>
<hz:properties>
<hz:property name="hazelcast.merge.first.run.delay.seconds">5</hz:property>
<hz:property name="hazelcast.merge.next.run.delay.seconds">5</hz:property>
</hz:properties>
<hz:network port="5705" port-auto-increment="true">
<hz:join>
<hz:multicast enabled="true"/>
</hz:join>
</hz:network>
<hz:map name="myMap" >
<hz:entry-listeners>
<hz:entry-listener class-name="rw.gov.dgie.bms.hazelcast.listener.map.MyMapListener" include-value="true"/>
<hz:entry-listener implementation="myMapListener" local="true"/>
</hz:entry-listeners>
</hz:map>
</hz:config>
</hz:hazelcast>

<hz:client id="client">
<hz:group name="dev" password="password"/>
<hz:network>
<hz:member>127.0.0.1:5705</hz:member>
</hz:network>
</hz:client>

<bean class="rw.gov.dgie.bms.hazelcast.listener.map.MyMapListener" name="myMapListener"/>

<hz:map id="myMap" instance-ref="instance" name="MyMap" lazy-init="false"/>

当我将监听器添加到从 Java 代码注入(inject)的映射时,它工作正常:

@Autowired
private IMap myMap;

myMap.addEntryListener((MapListener)new MyMapListener(), true);

我做错了什么?

最佳答案

改变

<hz:map id="myMap" instance-ref="instance" name="MyMap" lazy-init="false"/>

<hz:map id="myMap" instance-ref="instance" name="myMap" lazy-init="false"/>

id 是 bean 名称,name 是映射名称。

在原始代码的顶部部分,这里是监听器

<hz:map name="myMap">
<hz:entry-listeners>

被添加到名为“myMap”的映射,并且底部的 bean 引用名为“MyMap”的映射。因此,由于 M 的大写在一张 map 上而在另一张 map 上没有,因此两张不同的 map 。

关于java - Hazelcast map 条目监听器不是来自 Spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52082259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com