Seata nenhum serviço disponível 'nulo' encontrada, por favor, certifique-se de configuração de registo correcto

 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

Acho que você gosta

Origin www.cnblogs.com/javashare/p/12529434.html
Recomendado
Clasificación