有关
this question
我已经用
@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引导客户端。这辆车和平常的车很相配
afterCreate
和
afterUpdate
不调用覆盖。
用例是动态注册和注销许多不同的密钥。
如果我使用spring boot应用程序本身将其放入本地区域,那么事件处理程序
是
被召唤。所以这不是spring引导代码的问题,这是一个连接池&某种服务器注册问题。