estudo recente Seata relatou o erro quando nenhum serviço 'nulo' disponíveis encontrada, por favor, certifique-se de configuração de registo correcto, o nome do serviço no arquivo de configuração não, de jeito nenhum pode ser apenas com o código fonte
环境 springcloud Hoxton.SR3 + Springboot 2.2.5.RELEASE + seata1.1 + nacos1.4
Seata download do pacote é muito lento, o uso direto de compilador versão 1.2-SNAPSHOT
Eu encontrei este problema por duas razões.
1. Não há usar para configurar site oficial, levar diretamente de outra pessoa importação de perfil
2. Não há dependência causada pela introdução de
Vamos olhar as razões
seata1.0 fonte de erro
io.seata.core.rpc.netty.NettyClientChannelManager # reconexão
vazio reconexão (String transactionServiceGroup) { List <String> availList = null; try { availList = getAvailServerList (transactionServiceGroup); } Catch (Exception e) { LOGGER.error ( "Falha ao obter servidores disponíveis: {}", e.getMessage (), e); Retorna; } If (CollectionUtils.isEmpty (availList)) { Cadeia SERVICEGROUP = RegistryFactory.getInstance () .getServiceGroup (transactionServiceGroup); LOGGER.error ( "nenhum serviço disponível '{}' encontrada, por favor, certifique-se de configuração de registo correcto", SERVICEGROUP); Retorna; para (String serverAddress: availList) { try { acquireChannel (serverAddress); } Catch (Exception e) { LOGGER.error ( "{} não pode conectar-se a {} causa: {}", FrameworkErrorCode.NetConnect.getErrCode (), serverAddress, e.getMessage (), e); } } }
Io.seata.discovery.registry.RegistryService # getServiceGroup
Cordas PREFIX_SERVICE_MAPPING = "vgroup_mapping.";
/ **
* A constante PREFIX_SERVICE_ROOT.
* /
Cordas PREFIX_SERVICE_ROOT = "serviço";
/ **
* A constante CONFIG_SPLIT_CHAR.
* /
Cordas CONFIG_SPLIT_CHAR = "";
padrão de Cordas getServiceGroup (String chave) {
Configuração config = ConfigurationFactory.getInstance ();
retorno config.getConfig (PREFIX_SERVICE_ROOT + CONFIG_SPLIT_CHAR chave + PREFIX_SERVICE_MAPPING +);
}
Acima da parte vermelha é a causa raiz, após a versão 1.1
vgroup_mapping em vgroupMapping o
que todos na configuração Seata importado modificar diretamente o código-fonte para encontrar uma importação de perfil bem sob o seguinte diretório roteiro, nacos-config.txt antes depois 1,1 nacos também removidos
nacos-config.sh acima diretório nacos
Então, se você usar a versão 1.1 ou mais Seata lembre-se de usar o nome do grupo
vgroupMapping, e antes de 1.0 com vgroup_mapping, lembre-se que tudo isso deve ser mudado juntos contêm Oh,
outra razão é que você não bloquear a introdução do surgimento dependente primavera-nuvem-alibaba-Seata
Os estudantes interessados são convidados a unir-se para aprender 513 650 703