Spring Data Geode 注册兴趣未接收事件

Spring Data Geode register interest is not receiving events

相关 我已经使用

设置了 Spring Data Geode Client 应用程序

@EnableClusterDefinedRegions(clientRegionShortcut=ClientRegionShortcut.CACHING_PROXY)

并通过确保所有 类 自动连接然后使用 @Resource Geode 服务器区域在客户端上设置和实例化。

@Resource(name = "request")
private Region<String, Request> request;

我可以在这样的区域上下车。但是,当我尝试在服务器上注册对密钥的兴趣时,spring 引导客户端会收到其他客户端对服务器的更新。注册兴趣码:

request.registerInterestForAllKeys();
request.getAttributesMutator().addCacheListener(new myListener());

日志显示兴趣已添加到区域:

DEBUG [main] org.apach.geode.inter.cache.GemFireCacheImpl 4388 registerInterestStarted: registerInterestsStarted: new count = 1
TRACE [main] org.apach.geode.inter.InternalDataSerializer 2194 basicWriteObject: basicWriteObject: KEYS_VALUES
TRACE [main] org.apach.geode.inter.InternalDataSerializer 1535 writeDSFID: writeDSFID 37 class=class org.apache.geode.internal.cache.tier.sockets.InterestResultPolicyImpl
TRACE [main] org.apach.geode.cache.clien.inter.OpExecutorImpl 568 executeOnQueuesAndReturnPrimaryResult: sending org.apache.geode.cache.client.internal.RegisterInterestOp$RegisterInterestOpImpl@5e1a7d3 to backups: []
TRACE [main] org.apach.geode.cache.clien.inter.OpExecutorImpl 584 executeOnQueuesAndReturnPrimaryResult: sending org.apache.geode.cache.client.internal.RegisterInterestOp$RegisterInterestOpImpl@5e1a7d3 to primary: Connection[1.2.3.4:40404]@613231852
TRACE [main] org.apach.geode.cache.clien.inter.AbstractOp 85 attemptSend: Sending op=RegisterInterestOp$RegisterInterestOpImpl using Connection[1.2.3.4:40404]@613231852

当另一个客户端在服务器区域添加或更改值时,该事件未到达 spring 启动客户端。通常 afterCreateafterUpdate 覆盖的 CacheListenerAdapter 不会被调用。

用例是动态注册和注销大量不同的密钥。

如果我使用 spring 启动应用程序本身放置到本地区域,那么事件处理程序 被调用。所以这不是 spring 引导代码的问题,这是某种连接池和服务器注册问题。

问题是我的application.properties

spring.data.gemfire.cache.client.durable-client-id=myListener

出于某种原因,持久客户端无法 运行 CacheListenerAdapter