Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 14767|Resposta: 0

[Fonte] Erro ao criar feijão com o nome 'stringRedisTemplate' definido em...

[Copiar link]
Publicado em 11/03/2019 13:31:52 | | |
Causado por: org.springframework.beans.factory.UnsatisfiedDependencyException: Erro de criação de bean com o nome 'stringRedisTemplate' definido no recurso de caminho de classe [org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.class]: Dependência insatisfeita expressa pelo método 'stringRedisTemplate' parâmetro 0; Exceção aninhada é org.springframework.beans.factory.BeanCreationException: Erro de criação de bean com o nome 'redisConnectionFactory' definido no recurso de caminho de classe [org/springframework/boot/autoconfigure/data/redis/LettuceConnectionConfiguration.class]: Instanciação do Bean via método de fábrica falhou; exceção aninhada é org.springframework.beans.BeanInstantiationException: Falhou em instanciar [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory]: O método de fábrica 'redisConnectionFactory' fez exceção; exceção aninhada é java.lang.NoClassDefFoundError: org/apache/commons/pool2/impl/GenericObjectPoolConfig
Meio Ambiente:

spring-boot-starter-data-redis versão 2.1.1.RELEASE

spring-boot-starter-parent 2.1.1.RELEASE versão

JDK 1.8

POM. Configuração XML




Relatório de erro do início do projeto, análise da causa do erro:

A versão Springboot 2.X usa o pool de conexão de alface paraSubstituirJedis。 Alface e Jedis são ambos programas clientes que se conectam ao Redis Server.O Jedis está conectado diretamente ao servidor Redis em um ambiente multi-threadSegurança sem rosca, a menos que sejam usados pools de conexões, adicionando conexões físicas para cada facção Jedis.A alface é baseada na conexão de energia da Netty, que pode ser acessada simultaneamente entre múltiplas threads, eSegurança da rosca, que atende aos requisitos para acesso concorrente em um ambiente multithreaded, e é um design escalável, então, se não houver instâncias de conexão suficientes, você pode adicionar instâncias de conexão conforme necessário.

Solução:

Springboot2. X usa alface para se conectar ao pool por padrão, e o commons-pool2 precisa ser introduzido



DigressãoSe você receber um erro assim:

Considere definir um grão do tipo 'org.springframework.data.redis.core.RedisTemplate' na sua configuração.

O ponto de injeção possui as seguintes anotações:
        - @org.springframework.beans.factory.annotation.Autowired(required=true)
Por favor, consulte a:

A exceção é resolvida injetando a instância RedisTemplate no SpringBoot
https://www.itsvse.com/thread-7224-1-1.html
(Fonte: Architect_Programmer)






Anterior:A exceção é resolvida injetando a instância RedisTemplate no SpringBoot
Próximo:Resolver o problema dos caracteres distorcidos no chinês Spring boot
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com