我使用 spring boot 创建了一个应用程序,它使用数据网格 redHat(Infinispan 'Estrella Galicia' 9.3.6.Final 独立)来管理内存中的 java bean。
当我在数据网格上配置缓存时,我显示以下错误:
*java.net.SocketTimeoutException: FaultTolerantPingOperation{default, flags=0} 在 org.infinispan.client.hotrod.impl.operations.HotRodOperation.run(HotRodOperation.java:172) 的 60000 毫秒后超时~[infinispan-client-hotrod -9.4.0.Final.jar:9.4.0.Final]"
我的应用程序的配置如下:
控制台 RedHat 数据网格:
Maven依赖:
配置弹簧:
@Primary
@Bean(name = "cacheManager")
public CacheManager cacheManager() throws Exception {
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.addServer().host("127.0.0.1").port(11222);
RemoteCacheManager remoteCacheManager = new RemoteCacheManager(builder.build());
return new SpringRemoteCacheManager(remoteCacheManager);
}
@Bean
public CacheResolver cacheResolver() throws Exception {
NamedCacheResolver resolver = new NamedCacheResolver();
resolver.setCacheManager(cacheManager());
resolver.setCacheNames(Collections.singleton("default"));
return resolver;
}
这是Java Bean
public class UdmOutput {
private String entityCode;
private Udm unitaPrimaria;
private List<Udm> udmList;
public UdmOutput() {
}
public String getEntityCode() {
return entityCode;
}
public void setEntityCode(String entityCode) {
this.entityCode = entityCode;
}
public List<Udm> getUdmList() {
return udmList;
}
public void setUdmList(List<Udm> udmList) {
this.udmList = udmList;
}
public Udm getUnitaPrimaria() {
return unitaPrimaria;
}
public void setUnitaPrimaria(Udm unitaPrimaria) {
this.unitaPrimaria = unitaPrimaria;
}
}
这是用于在缓存中插入 java bean 的代码:
@CachePut(cacheResolver="cacheResolver", key="#keyLogic")
public UdmOutput saveObjectInCache(UdmOutput msg, String keyLogic) {
return msg;
}
当方法运行结束时,我得到异常 SocketTimeoutException
你能帮助我吗 ?
非常感谢,朱塞佩。