本文最后更新于 2024-08-27,文章内容可能已经过时。

一、java.lang.InterruptedException: null

启动nacos服务又报错了...

2024-04-24 11:08:18,068 ERROR [TASK-FAILED] java.lang.InterruptedException

java.lang.InterruptedException: null
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1638)
	at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
	at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)

解决思路

暂无,查了一圈资料,应该是属于nacos自己的bug,毕竟配置什么的都没改。

解决方案

修改conf/application.properties配置文件,把配置文件mysql的配置注释掉,让它恢复到使用内嵌数据库,再重启,成功后,再次把mysql配置注释去掉重启,多试几次就行了。

二、Could not create connection to database server

org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.

        at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)

        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:371)

        at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:523)

        at com.alibaba.nacos.config.server.service.datasource.ExternalDataSourceServiceImpl$SelectMasterTask.run(ExternalDataSourceServiceImpl.java:233)

解决思路

  1. 检查数据库有没有开启,如果数据库没有启动,就无法连接。用管理员身份打开命令行,执行命令net start mysql

  2. application.properties 配置问题,可能配置有误,检查配置文件。

  3. 数据库和Nacos 版本问题,建议使用较新稳定的Nacos版本和mysql 8 版本。

  4. 把配置文件mysql的配置注释掉,让它恢复到使用内嵌数据库,再重启,成功后,再次把mysql配置注释去掉,重启。

解决方案

目前这个问题还是采用第四点解决的。