【问题标题】:Spring Data Geode register interest is not receiving eventsSpring Data Geode 寄存器兴趣未收到事件
【发布时间】:2023-04-09 11:41:01
【问题描述】:

this question 相关,我已经使用

设置了一个 Spring Data Geode 客户端应用程序

@EnableClusterDefinedRegions(clientRegionShortcut=ClientRegionShortcut.CACHING_PROXY)

通过确保所有类都是自动装配的,然后使用 @Resource 在客户端上设置和实例化 Geode 服务器区域。

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

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

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 Boot 客户端。不调用具有通常 afterCreateafterUpdate 覆盖的 CacheListenerAdapter。

用例是动态注册和注销许多不同的密钥。

如果我使用 spring boot 应用程序本身放入本地区域,那么事件处理程序 正在 被调用。所以这不是 Spring Boot 代码的问题,这是某种连接池和服务器注册问题。

【问题讨论】:

    标签: geode spring-data-gemfire spring-boot-data-geode


    【解决方案1】:

    问题是我的application.properties

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-29
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      • 2022-12-21
      • 1970-01-01
      • 2016-04-17
      相关资源
      最近更新 更多