问题说明:启动某个应用时 出现了一个加载redis的错误,明明配置文件是172.16.108.71的内网环境ip,但是加载的时候却报错是 127.0.0.1,报错如下:
2021-03-30 20:23:48.617 DEBUG 75508 --- [lettuce-epollEventLoop-4-1] io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.newResourceLeakDetector (ResourceLeakDetect
orFactory.java:202) : Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@31a1571e
2021-03-30 20:23:48.673 DEBUG 75508 --- [lettuce-epollEventLoop-4-1] io.lettuce.core.protocol.CommandHandler.channelRegistered (CommandHandler.java:145) : [channel=0x695e9b2f, [id: 0x287f0c
5d] (inactive), chid=0x1] channelRegistered()
2021-03-30 20:23:48.681 DEBUG 75508 --- [lettuce-epollEventLoop-4-1] io.lettuce.core.AbstractRedisClient.lambda$initializeChannelAsync$1 (AbstractRedisClient.java:273) : Connecting to Redis
at localhost:6379: localhost:6379
io.netty.channel.AbstractChannel$AnnotatedConnectException: syscall:getsockopt(..) failed: Connection refused: localhost/127.0.0.1:6379
at io.netty.channel.unix.Socket.finishConnect(..)(Unknown Source)
Caused by: io.netty.channel.unix.Errors$NativeConnectException: syscall:getsockopt(..) failed: Connection refused
... 1 common frames omitted
2021-03-30 20:23:48.682 DEBUG 75508 --- [lettuce-epollEventLoop-4-1] io.lettuce.core.RedisChannelHandler.close (RedisChannelHandler.java:100) : close()
2021-03-30 20:23:48.683 DEBUG 75508 --- [lettuce-epollEventLoop-4-1] io.lettuce.core.protocol.DefaultEndpoint.close (DefaultEndpoint.java:480) : [unknown, epid=0x1] close()
2021-03-30 20:23:48.686 WARN 75508 --- [main] org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:559) : Exception encountered during co
ntext initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer' defin
ed in class path resource [org/springframework/boot/autoconfigure/session/RedisSessionConfiguration$SpringBootRedisHttpSessionConfiguration.class]: Invocation of init method failed; nested
exception is org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to l
ocalhost:6379
2021-03-30 20:23:48.689 INFO 75508 --- [main] org.springframework.jmx.export.MBeanExporter.destroy (MBeanExporter.java:451) : Unregistering JMX-exposed beans on shutdown
2021-03-30 20:23:48.691 DEBUG 75508 --- [lettuce-epollEventLoop-4-1] io.lettuce.core.protocol.CommandHandler.channelUnregistered (CommandHandler.java:161) : [channel=0x695e9b2f, [id: 0x287f
0c5d] (inactive), chid=0x1] channelUnregistered()
2021-03-30 20:23:49.819 DEBUG 75508 --- [lettuce-epollEventLoop-4-1] io.netty.buffer.PoolThreadCache.free (PoolThreadCache.java:249) : Freed 1 thread-local buffer(s) from thread: lettuce-ep
ollEventLoop-4-1
2021-03-30 20:23:49.837 INFO 75508 --- [main] org.apache.juli.logging.DirectJDKLog.log (DirectJDKLog.java:180) : Stopping service [Tomcat]
2021-03-30 20:23:49.867 DEBUG 75508 --- [main] com.ulisesbocchio.jasyptspringboot.configuration.EnableEncryptablePropertiesBeanFactoryPostProcessor.onApplicationEvent (EnableEncryptableProp
ertiesBeanFactoryPostProcessor.java:61) : Application Event Raised: ApplicationFailedEvent
2021-03-30 20:23:49.903 INFO 75508 --- [main] org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener.logMessage (ConditionEvaluationReportLoggingListener.j
ava:142) :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-03-30 20:23:49.904 DEBUG 75508 --- [main] com.ulisesbocchio.jasyptspringboot.configuration.EnableEncryptablePropertiesBeanFactoryPostProcessor.onApplicationEvent (EnableEncryptableProp
ertiesBeanFactoryPostProcessor.java:61) : Application Event Raised: ApplicationFailedEvent
2021-03-30 20:23:49.910 ERROR 75508 --- [main] org.springframework.boot.SpringApplication.reportFailure (SpringApplication.java:837) : Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer' defined in class path resource [org/springframework/boot
/autoconfigure/session/RedisSessionConfiguration$SpringBootRedisHttpSessionConfiguration.class]: Invocation of init method failed; nested exception is org.springframework.data.redis.RedisCo
nnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1694)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:881)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:386)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1242)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1230)
at com.ztesoft.CloudResourcesInterConnectionManageApplication.main(CloudResourcesInterConnectionManageApplication.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:593)
Caused by: org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to loc
alhost:6379
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:966)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getConnection(LettuceConnectionFactory.java:934)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.getSharedConnection(LettuceConnectionFactory.java:786)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.getConnection(LettuceConnectionFactory.java:300)
at org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration$EnableRedisKeyspaceNotificationsInitializer.afterPropertiesSet(RedisHttpSessionCon
figuration.java:302)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1753)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1690)
... 24 common frames omitted
Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379
at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:56)
at io.lettuce.core.AbstractRedisClient.getConnection(AbstractRedisClient.java:233)
at io.lettuce.core.RedisClient.connectStandalone(RedisClient.java:253)
at io.lettuce.core.RedisClient.connect(RedisClient.java:202)
at org.springframework.data.redis.connection.lettuce.StandaloneConnectionProvider.getConnection(StandaloneConnectionProvider.java:56)
at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:959)
... 30 common frames omitted
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: syscall:getsockopt(..) failed: Connection refused: localhost/127.0.0.1:6379
at io.netty.channel.unix.Socket.finishConnect(..)(Unknown Source)
Caused by: io.netty.channel.unix.Errors$NativeConnectException: syscall:getsockopt(..) failed: Connection refused
... 1 common frames omitted
-XX:CMSInitiatingOccupancyFraction=80 -XX:+DisableExplicitGC -XX:GCLogFileSize=20971520 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs/dumpfile.hprof -XX:InitialHeapSize=536870912
-XX:MaxDirectMemorySize=16106127360 -XX:MaxHeapSize=536870912 -XX:MaxNewSize=268435456 -XX:MaxTenuringThreshold=6 -XX:NewSize=268435456 -XX:NumberOfGCLogFiles=5 -XX:OldPLABSize=16 -XX:-Omit
StackTraceInFastThrow -XX:+PrintCommandLineFlags -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:-UseBiasedLocking -XX:+UseCompressedClassPointers -XX:+UseCompressedO
ops -XX:+UseConcMarkSweepGC -XX:+UseGCLogFileRotation -XX:-UseLargePages -XX:+UseParNewGC
20:38:53,633 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
20:38:53,634 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
20:38:53,636 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/data/oss-o4/app/sdn-inf/config/logback.xml]
20:38:53,795 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
20:38:53,806 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@24:75 - no applicable action for [springProperty], current ElementPath is [[configuration][springProperty]]
20:38:53,806 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@25:78 - no applicable action for [springProperty], current ElementPath is [[configuration][springProperty]]
20:38:53,806 |-INFO in ch.qos.logback.core.joran.action.ConversionRuleAction - registering conversion word clr with class [org.springframework.boot.logging.logback.ColorConverter]
20:38:53,807 |-INFO in ch.qos.logback.core.joran.action.ConversionRuleAction - registering conversion word wex with class [org.springframework.boot.logging.logback.WhitespaceThrowableProxyC
onverter]
20:38:53,807 |-INFO in ch.qos.logback.core.joran.action.ConversionRuleAction - registering conversion word wEx with class [org.springframework.boot.logging.logback.ExtendedWhitespaceThrowab
leProxyConverter]
20:38:53,816 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
20:38:53,821 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
20:38:53,825 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
20:38:53,894 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework] to INFO
20:38:53,894 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework.jdbc.core.JdbcTemplate] to DEBUG
20:38:53,894 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.http] to INFO
20:38:53,894 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework.jdbc.core.StatementCreatorUtils] to TRACE
20:38:53,894 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG
20:38:53,894 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
20:38:53,895 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
20:38:53,896 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@1da51a35 - Registering current configuration as safe fallback point
百度了一下Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: syscall:getsockopt(..) failed: Connection refused: localhost/127.0.0.1:6379类似的错误,看了下别人的博客写的确是关闭redis的保护模式和绑定端口,然后在次启动都不行
引用博客:https://blog.youkuaiyun.com/woshiVIPPP/article/details/82663544
,最后问了公司以前的前辈,发现是spingboot读取配置文件优先级导致了,去掉了-Dspring.config.location=classpath:../即可
参考的博客:https://blog.youkuaiyun.com/weixin_30733003/article/details/101201340