Tencent / APIJSON

🏆 实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 🏆 Real-Time coding-free, powerful and secure ORM 🚀 providing APIs and Docs without coding by Backend, and the returned JSON of API can be customized by Frontend(Client) users
http://apijson.cn
Other
17.07k stars 2.14k forks source link

[问题] 我为了使用SQLAUTO下载了后端依赖APIJSONBoot-MultiDataSource,我按照教程配置了mysql的sys表信息,通过 IDEA启动了后端服务,控制台报出Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Failed to create socket. #591

Closed shenqi521 closed 1 year ago

shenqi521 commented 1 year ago

Description

[问题]

我为了使用SQLAUTO下载了后端依赖APIJSONBoot-MultiDataSource,我按照教程配置了mysql的sys表信息,通过 IDEA启动了后端服务,控制台报出Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Failed to create socket.

我的疑问: 1.APIJSONBoot-MultiDataSource服务是否需要配置redis数据库? 2.我根据教程配置的mysql的sys数据库下的表,是用来做的什么的?是否是用来存储APIJSON的元数据?还是说用来测试数据库功能的业务库。

控制台报错信息: rg.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Failed to create socket. at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:283) at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:485) at org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:131) at org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:94) at org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:81) at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:216) at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:189) at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) at apijson.demo.DemoSQLExecutor.getCache(DemoSQLExecutor.java:90) at apijson.orm.AbstractSQLExecutor.execute(AbstractSQLExecutor.java:272) at apijson.demo.DemoSQLExecutor.execute(DemoSQLExecutor.java:323) at apijson.orm.AbstractParser.executeSQL(AbstractParser.java:1934) at apijson.demo.DemoParser.executeSQL(DemoParser.java:130) at apijson.orm.AbstractObjectParser.onSQLExecute(AbstractObjectParser.java:981) at apijson.orm.AbstractObjectParser.executeSQL(AbstractObjectParser.java:819) at apijson.orm.AbstractObjectParser.executeSQL(AbstractObjectParser.java:43) at apijson.orm.AbstractParser.onObjectParse(AbstractParser.java:1122) at apijson.orm.AbstractObjectParser.onChildParse(AbstractObjectParser.java:549) at apijson.orm.AbstractObjectParser.parse(AbstractObjectParser.java:283) at apijson.orm.AbstractObjectParser.parse(AbstractObjectParser.java:43) at apijson.orm.AbstractParser.onObjectParse(AbstractParser.java:1032) at apijson.orm.AbstractParser.onArrayParse(AbstractParser.java:1261) at apijson.orm.AbstractObjectParser.onChildParse(AbstractObjectParser.java:529) at apijson.orm.AbstractObjectParser.parse(AbstractObjectParser.java:283) at apijson.orm.AbstractObjectParser.parse(AbstractObjectParser.java:43) at apijson.orm.AbstractParser.onObjectParse(AbstractParser.java:1032) at apijson.orm.AbstractParser.parseResponse(AbstractParser.java:466) at apijson.framework.APIJSONParser.parseResponse(APIJSONParser.java:117) at apijson.demo.DemoParser.parseResponse(DemoParser.java:90) at apijson.framework.APIJSONVerifier.initAccess(APIJSONVerifier.java:169) at apijson.framework.APIJSONVerifier.initAccess(APIJSONVerifier.java:139) at apijson.framework.APIJSONApplication.init(APIJSONApplication.java:81) at apijson.framework.APIJSONApplication.init(APIJSONApplication.java:44) at apijson.boot.DemoApplication.main(DemoApplication.java:97) Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Failed to create socket. at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:110) at redis.clients.jedis.Connection.connect(Connection.java:226) at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:144) at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:314) at redis.clients.jedis.BinaryJedis.initializeFromClientConfig(BinaryJedis.java:92) at redis.clients.jedis.BinaryJedis.(BinaryJedis.java:87) at redis.clients.jedis.BinaryJedis.(BinaryJedis.java:82) at redis.clients.jedis.BinaryJedis.(BinaryJedis.java:173) at redis.clients.jedis.Jedis.(Jedis.java:104) at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.createJedis(JedisConnectionFactory.java:296) at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:276) ... 34 more Caused by: java.net.SocketTimeoutException: connect timed out at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) at java.net.Socket.connect(Socket.java:606) at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:80) ... 44 more 2023-07-26 03:35:12.033: DemoSQLExecutor.DEBUG: getConnection config.getDatasource() = null 2023-07-26 03:35:12.033: AbstractSQLExecutor.INFO: >>> execute result = getCache('SELECT * FROM sys.Access LIMIT 100', 0) = null 2023-07-26 03:35:12.033: AbstractSQLExecutor.INFO: select connection = null 2023-07-26 03:35:13.182: AbstractSQLExecutor.DEBUG:

TommyLemon commented 1 year ago

Redis 用来做缓存提升性能,拿不到缓存值不影响功能,忽略这个报错日志即可。