您的位置:首页 > 健康 > 美食 > 怎么建设一个公司网站_湛江模板建站平台_小学生简短小新闻摘抄_专业北京seo公司

怎么建设一个公司网站_湛江模板建站平台_小学生简短小新闻摘抄_专业北京seo公司

2025/5/15 22:10:11 来源:https://blog.csdn.net/ysy1119/article/details/147084932  浏览:    关键词:怎么建设一个公司网站_湛江模板建站平台_小学生简短小新闻摘抄_专业北京seo公司
怎么建设一个公司网站_湛江模板建站平台_小学生简短小新闻摘抄_专业北京seo公司

这几天在部署项目的时候会发现的一个问题是,配置都没有什么问题,但是进入网页操作功能的时候却报错了,报错是这样:

Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@57d08368] was not registered for synchronization because synchronization is not active
JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@5666456f] will not be managed by Spring
==> Preparing: select * from admins where account=?
==> Parameters: admin1(String)
<== Columns: aid, account, controller, password, manage_users, manage_meetings, manage_events, manage_check_ins, publish_news, edit_home_page, manage_propositions, manage_public, propositions_dep_id, public_dep_id, status, is_super_admin, registration_time, update_time, logout_time
<== Row: 2, admin1, 管理员叶子, *****, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 已注销, 0, 2025-02-09 04:27:13, 2025-03-19 22:44:36, 2025-03-01 18:55:59
<== Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@57d08368]
2025-04-09T09:29:53.088+08:00 ERROR 1771663 --- [nio-8090-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.data.redis.RedisSystemException: Error in execution] with root causeio.lettuce.core.RedisReadOnlyException: READONLY You can't write against a read only replica.
at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:148) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:120) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.protocol.AsyncCommand.completeResult(AsyncCommand.java:124) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.protocol.AsyncCommand.complete(AsyncCommand.java:115) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.protocol.CommandHandler.complete(CommandHandler.java:749) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.protocol.CommandHandler.decode(CommandHandler.java:684) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.lettuce.core.protocol.CommandHandler.channelRead(CommandHandler.java:601) ~[lettuce-core-6.4.2.RELEASE.jar!/:6.4.2.RELEASE/f4dfb40]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[netty-transport-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.117.Final.jar!/:4.1.117.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.117.Final.jar!/:4.1.117.Final]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

主要原因是:io.lettuce.core.RedisReadOnlyException: READONLY You can't write against a read only replica.这主要是指Redis实例被配置为只读副本(read-only replica)模式,但是应用程序却尝试对其进行写操作。

看到这个报错原因我就有点疑惑了,查了一下资料,都要操作修改好多地方,但是这时候我想到我的宝塔上是有部署redis的,针对我的这种情况,所以接下来,我直接一招解决:

启用重启大法!!!

 事实证明,这个方法非常有用。几乎是出现一次这个问题,就重启一下。这个可能是跟我修改了配置文件有关,因为本地上的redis没有设置密码,但是在宝塔上操作的时候我随手设置了一个,导致在本地测试的时候我需要注释一下,然后有时候压缩jar包上传上去就会忘记恢复回来,就手动去修改了配置的文件。这是我想到的一个原因:本地开发和服务器部署时使用不同的Redis配置可能就会导致连接问题。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com