我正在尝试为Apache Geode设置侦听器。我已经使用Web和JPA创建了一个Spring Boot项目。我创建了一个扩展CacheListenerAdapter的侦听器。在主类中,我在该区域上做了一个测试插入,并且监听器确实可以工作一次。应用程序启动后,将不处理事件。我确实尝试从“ gfsh”控制台以及另一个Java客户端插入。我包括我的侦听器,主类和日志。任何帮助将不胜感激。谢谢
听众
@Component
public class GeodeEventListener extends CacheListenerAdapter{
public void afterCreate(EntryEvent event) {
System.out.println("Created: "+"Key: "+ event.getKey() +" New Value: "+ event.getNewValue());
}
}
主班
@SpringBootApplication
public class GeodelistenerApplication {
@Autowired
private AppConfig appConfig;
@Autowired
private GeodeEventListener geodeEventListener;
public static void main(String[] args) {
SpringApplication.run(GeodelistenerApplication.class, args);
}
@PostConstruct
public void init(){
ClientCache cache = new ClientCacheFactory()
.setPoolSubscriptionEnabled(true)
.addPoolLocator(appConfig.geodeHost , appConfig.geodePort)
.create();
ClientRegionFactory rf =
cache.createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY);
rf.addCacheListener(geodeEventListener);
Region alert_status = rf.create(appConfig.region);
alert_status.put("test", "test");
}
}
由于您可能会错过来自侦听器的sysout,因此我将其添加到 Created:密钥:test新值:test。我收到此消息是由于从main函数插入的结果。但是侦听器无法捕获来自gfsh / java客户端的更多插入
相关分类