ERROR 1 --- [nio-8080-exec-1] io.seata.config.ConfigFuture: config operation timeout,cost:5001 ms,op:GET,dataId:client.xxxxxxxxxxx
原因【此问题没有修复】: apache/incubator-seata#3777 apache/incubator-seata#3778
会报此错误
ConfigFuture configFuture = new ConfigFuture(dataId, defaultValue, ConfigFuture.ConfigOperation.GET,
timeoutMills);
consulNotifierExecutor.execute(() -> complete(getConsulClient().getKVValue(dataId, getAclToken()), configFuture));
return (String) configFuture.get();
调用链:
ConsulConfiguration::getConsulClient 调用 FILE_CONFIG.getConfig(FILE_CONFIG_KEY_PREFIX + SERVER_ADDR_KEY)
->
SpringBootConfigurationProvider::provide -> result = get(convertDataId(rawDataId));
->
SpringBootConfigurationProvider::get
Class<?> propertyClass = PROPERTY_BEAN_MAP.get(propertyPrefix); 是从application.yaml中获取配置数据
Object propertyBean = applicationContext.getBean(propertyClass); 此步骤非常的耗时
io.seata.spring.boot.autoconfigure.properties.config.ConfigProperties
Bean 'configConsulProperties' of type [io.seata.spring.boot.autoconfigure.properties.config.ConfigConsulProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
Exception in thread "consul-config-executor_1_1" java.lang.NoClassDefFoundError: com/ecwid/consul/v1/ConsulClient
cluster = "consul"
dc = "localdc1"
namespace = "seata"
seata.tx-service-group=${group_a}
service.vgroup-mapping.${group_a}=${default}
grouplist.default: seata-server.seata:8091
另外consul中需要配置 service.vgroup-mapping.${group_a}=${default}
注册成功会有如下消息
register RM success. client version:1.4.2, server version:1.4.2,channel:[id: 0x6f2af96f, L:/10.1.0.73:58076 - R:/10.1.0.62:8091]
register TM success. client version:1.4.2, server version:1.4.2,channel:[id: 0x339ed68f, L:/10.1.0.73:57906 - R:/10.1.0.62:8091]
register success, cost 310 ms, version:1.4.2,role:RMROLE,channel:[id: 0x6f2af96f, L:/10.1.0.73:58076 - R:/10.1.0.62:8091]
register success, cost 10142 ms, version:1.4.2,role:TMROLE,channel:[id: 0x339ed68f, L:/10.1.0.73:57906 - R:/10.1.0.62:8091]
no available service found in cluster 'default', please make sure registry config correct and keep your seata server running