开启Gzip加速找到Typecho安装目录中的config.inc.php文件，添加下方代码即可/* 开启gzip压缩 */ ob_start('ob_gzhandler');nginx 没有 gzip 的站长，要记得 在 nginx 里面也开启gzip 压缩
前言你是否曾在深夜翻遍搜索引擎，只为拼凑出一个理想中的博客界面？是否在尝试美化「Handsome」主题时，被零散的教程、失效的代码和版本兼容问题反复劝退？作为一款备受开发者青睐的博客主题，「Handsome」的灵活性既是魅力也是门槛。网络上关于它的美化教程如繁星散落：GitHub的代码片段沉睡在仓库角落，技术论坛的精华帖沉没在历史回复中，个人博主的创意分享甚至随着域名过期而消失。这些碎片化的知识，让追求个性化的用户不得不耗费大量时间“寻宝”——而当你终于集齐碎片时，可能发现拼图早已过时。这便是本文诞生的初衷：我们试图做一场「系统化的收纳」。—— 不是简单的资源搬运，而是以「持续生长」的姿态，将散落的技巧梳理为可复用的模块，将晦涩的代码封装成即插即用的解决方案，同时建立版本迭代的追踪机制。无论你是刚接触「Handsome」的新手，还是想突破现有界面瓶颈的进阶用户，都能在这里找到可执行的路径。说明自定义CSS：该修改项位于Handsome主题后台-外观-设置外观-开发者设置-自定义CSS自定义JS：该修改项位于Handsome主题后台-外观-设置外观-开发者设置-自定义 JavaScript主题标题居中打开后台-更改外观-设置外观-开发者设置-复制代码粘贴至自定义CSS即可效果见本站文章/*主题标题居中*/ header.bg-light.lter.wrapper-md { text-align: center; }handsome 原生入站提示打开后台-更改外观-设置外观-开发者设置-复制代码粘贴至自定义输出body尾部代码即可 评论一键赞、踩、打卡打开后台-更改外观-设置外观-开发者设置-复制代码粘贴至自定义JavaScript即可 window.SIMPALED = {}; // 创建全局对象 SIMPALED，用于存放编辑器功能 // 定义一个函数 a，用于在文本框中插入文字 function a(a, b, c) { if (document.selection) { a.focus(); sel = document.selection.createRange(); c ? (sel.text = b + sel.text + c) : (sel.text = b); a.focus(); } else if (a.selectionStart || "0" == a.selectionStart) { var l = a.selectionStart; var m = a.selectionEnd; var n = m; c ? (a.value = a.value.substring(0, l) + b + a.value.substring(l, m) + c + a.value.substring(m, a.value.length)) : (a.value = a.value.substring(0, l) + b + a.value.substring(m, a.value.length)); c ? (n += b.length + c.length) : (n += b.length - m + l); l == m && c && (n -= c.length); a.focus(); a.selectionStart = n; a.selectionEnd = n; } else { a.value += b + c; a.focus(); } } window.SIMPALED.Editor = { daka: function() { var b = new Date().toLocaleTimeString(); var c = document.getElementById("comment") || 0; a(c, "滴！学生卡！打卡时间：" + b, "，请上车的乘客系好安全带~"); // 将光标移到文本最后 if (c.setSelectionRange) { var len = c.value.length; c.setSelectionRange(len, len); c.focus(); } else if (c.createTextRange) { var range = c.createTextRange(); range.collapse(false); range.select(); c.focus(); } }, zan: function() { var c = document.getElementById("comment") || 0; var yuluResponses = [ " 这篇文章展现了作者深邃的思想和独特的观点，令人赞叹不已。 ", " 文章中的优美语言和精彩描写让人感受到一种心灵的震撼和触动，实在值得赞美。 ", " 作者以敏锐的洞察力和真挚的情感，将文字融为一体，这种写作技巧令人赞赏。 ", " 这篇文章展现了作者的才华和学识，无不让人对其赞美有加。 ", " 文章中的感人故事和深刻的寓意令人深深地感动和赞叹。 ", " 作者的文字流畅而富有节奏感，令人为之倾倒，实在是一篇令人赞美的佳作。 ", " 文章中的深邃思考和清晰逻辑令人对作者的才华赞赏不已。 ", " 这篇文章的独到见解和新颖观点，让人对作者的创意赞美有加。 ", " 作者运用生动的比喻和细腻的描写，让读者仿佛身临其境，实在是一种令人赞美的写作艺术。 ", " 这篇文章的深情笔触和真挚感受让人深深感叹，实在是一篇值得赞美的美文。 ", ]; var randomIndex = Math.floor(Math.random() * yuluResponses.length); var randomResponse = yuluResponses[randomIndex]; a(c, randomResponse); }, cai: function() { var c = document.getElementById("comment") || 0; var yuluResponses = [ " 我是来替大家批评博主的，我是来批评的，这篇文章的结构有点混乱，需要更好地组织和展开内容。博主多多像我学习啊！ ", " 我是来替大家批评博主的，作者的表达能力有待提高，有些地方表述不够清晰，读者可能会感到困惑。博主多多像我学习啊！ ", " 我是来替大家批评博主的，文章的语法错误较多，建议仔细检查并进行修改。博主多多像我学习啊！ ", " 我是来替大家批评博主的，内容有些空洞，需要更多具体的例子或细节来支撑观点。博主多多像我学习啊！ ", " 我是来替大家批评博主的，文章缺乏逻辑，有些段落之间的衔接不够自然。博主多多像我学习啊！ ", " 我是来替大家批评博主的，作者的观点没有充分论证，需要更多的证据和理由来支持主张。博主多多像我学习啊！ ", " 我是来替大家批评博主的，文章中出现了一些拼写错误和用词不当的情况，建议进行仔细校对。博主多多像我学习啊！ ", " 我是来替大家批评博主的，语言表达过于简单，可以尝试使用更丰富的词汇和句式来提升文章质量。博主多多像我学习啊！ ", " 我是来替大家批评博主的，这篇文章的主题不够突出，需要更好地明确中心思想。博主多多像我学习啊！ ", " 我是来替大家批评博主的，文章缺乏吸引人的开头，建议引入更有趣的故事或引语来吸引读者注意。博主多多像我学习啊！ ", ]; var randomIndex = Math.floor(Math.random() * yuluResponses.length); var randomResponse = yuluResponses[randomIndex]; a(c, randomResponse); }, yulu: function() { var c = document.getElementById("comment") || 0; var yuluResponses = [ " 有你在的日子才是我的日常。 ", " 夹在我女友与前女友与青梅竹马间的果然是修罗场！ ", " 既然如此，就再努力一次吧。别在这里愁眉不展，也不要再自欺欺人，重新来过！ ", " 比自己,比梦想更重要的东西永远都存在着... ", " 嘛，那又怎么样呢？ ", " 自身不先改变的话，一切都不会改变。 ", " 比起有一百个朋友，不如有个比一百人还要重要的真心朋友。 ", " 我有在反省，但我不后悔。 ", " 要超越过去与悲伤，用坚强和笑容去开拓明天。 ", " 男人许下的诺言就一定要遵守。 ", " 没有回忆就去创造回忆，没有道路就去开辟道路。 ", " 我敬你是条汉子！ ", " 不相信自己的人，连努力的价值都没有。 ", " 微风摇曳着窗帘，夕阳斜射入教室，在那里鼓起勇气告白的少年。即使现在也能清晰地回想起她的声音「当朋友，不行吗？」 ", " 就算是沉落地面的太阳，只要夜晚过了一定会再度升起，不管有什么痛苦或难过的事，跟今天截然不同的明天也一定会到来。 ", " 我的腿让我停下，可是心却不允许我那么做。 ", " 生活就像超级女生，走到最后的都是纯爷们。 ", " 我要拼，装上假牙也要拼！ ", " 想要成为无论多么悲伤的时候，也能够漂亮微笑的人吧。 ", " 人们只是用好人来称呼对自己有用的人而以，不存在对所有人都有用的人。 ", " 烈焰中舞动的火花，将赐予邪恶异性交往以天罚。 ", " 无论乌云有多浓厚，星星也一定还在，只是暂时看不到了而已。 ", " 不相信人咬不到肚脐的，咬破肚脐去死如何？ ", " 人一生会遇到约万人，两个人相爱的概率是.。所以你不爱我，我不怪你。 ", " 不管看到什么样的过去，都请不要迷失自己，不管你变成什么样子，我都是你的同伴。 ", " 心，可是很重的。 ", " 我爱上的人，称我为怪叔叔 ", " 慕君之心，至死方休。 ", " 虚伪的眼泪，会伤害别人，虚伪的笑容，会伤害自己。 ", " 若隐若现才是艺术！ ", " 生我何用？不能欢笑。灭我何用？不减狂骄。 ", " 就是因为你不好，才要留在你身边，给你幸福。 ", " 呐，我们好像是，被宇宙和地球拆散的恋人似的。 ", " 你会梦游，我会磨牙，我们晚上一起去吓人吧！ ", " 或许只需一滴露水，便能守护这绽放的花朵。 ", " 自己永远是孤单的，但你可以让其他人变得不孤单。 ", " 和哥哥的便当比起来夜空的薯片就像大便一样！只会给我大便的大便夜空是笨蛋～笨蛋～ ", " 我手中的魔法，是守护挚爱的力量，是坚定这个信念所必须的力量，我一定会拯救你的，无论在何时、何地。 ", " 要改变别人的心真是件很难办的事，不过改变自己要容易一点。 ", " 风筝的线你随时可以放开，只是别盼望我会回来。 ", " 与你的生命等价的东西，这个世界上根本没有。 ", " 君子可寓意于物，但不可留意于物。 ", " 最好的感觉，是有人懂你的欲言又止。 ", " 看似美好的东西，往往藏着陷阱。 ", " 爱,其实很简单，困难的是去接受它。 ", " 喜欢大胸只是本能，喜欢贫乳才是审美。 ", " 二次元什么的我本来是不感冒的，直到我的膝盖中了一箭。 ", " 你才是⑨！你全家都是⑨！ ", " 努力是不会背叛自己的，虽然梦想有时会背叛自己。 ", " 面对就好，去经历就好。 ", " 我从小就害怕虫子 ", " 做不到的话，不过就是一死 。但是，赢了就能活下去，要是不战斗就赢不了。 ", " 既然认准这条路，何必去打听要走多久。 ", " 研表究明，汉字的序顺并不定一能影阅响读，比如当你看完这句话后，才发这现里的字全是都乱的。 ", " 少年心意，一如明月松间的青石流水，那些年里看到了，却不懂。 ", " 明明只是活着，哀伤却无处不在⋯⋯ ", " 少罗嗦，你还不如虫子呢！ ", " 天空是连着的，如果我们也能各自发光的话，无论距离有多远，都能看到彼此努力的身影。 ", " 别人恋爱不成功，你连暗恋都不成功！ ", ]; var randomIndex = Math.floor(Math.random() * yuluResponses.length); var randomResponse = yuluResponses[randomIndex]; a(c, randomResponse); }, };打开Handsome主题目录下的 component/comments.php文件,找到并删除如下内容：修改成如下代码：<textarea id="comment" class="textarea form-control OwO-textarea" name="text" rows="5" placeholder="<?php _me("说点什么吧……") ?>" οnkeydοwn="if(event.ctrlKey&&event.keyCode==13){document.getElementById('submit').click();return false};"><?php $this->remember('text'); ?> 打卡 语录 右键菜单美化需要引入JS文件https://blog.chario.cn/meihua/layer/3.1.1/layer.js,以下代码已经添加，无需再次引入。 首页 复制 搜索 前进 后退 重载网页 和我当邻居 给我留言吧 复制版权提示打开后台-更改外观-设置外观-开发者设置-复制代码粘贴至自定义JavaScript即可/* 复制成功提示代码开始 */ kaygb_copy(); function kaygb_copy() { $(document).ready(function () { $("body").bind('copy', function (e) { hellolayer(); }); }); var sitesurl = window.location.href; function hellolayer() { $.message({ message: "尊重原创，转载请注明出处！ 本文作者：XXX 原文链接：" + sitesurl, title: "复制成功", type: "warning", autoHide: false, time: "3000" }); } } /* 复制成功提示代码结束 */[collapse status="false" title="文本间距异常的解决方案"]出现这种文本间距异常的情况，使用以下代码即可/* 复制成功提示代码开始 */ kaygb_copy(); function kaygb_copy() { $(document).ready(function () { $("body").bind('copy', function (e) { hellolayer(); }); }); var sitesurl = window.location.href; function hellolayer() { $.message({ message: "尊重原创，转载请注明出处！ 本文作者：XXX 原文链接：" + sitesurl + " ", title: "复制成功", type: "warning", autoHide: false, time: "3000" }); } } /* 复制成功提示代码结束 */[/collapse]
昨夜闲潭梦落花，张若虚梦见了时光的流转；我欲因之梦吴越，李白梦见了精神的自由；铁马冰河入梦来，陆游梦见了家国的担当。三重梦境，三种人生，却共同指向一个命题：梦是个体灵魂最诚实的独白。倘若有一天，我们能够将梦赠予他人，那便不再是简单的夜晚幻象的转移，而是精神火种的传递、文明基因的接续。在我看来，赠梦的本质，是以一己之心灯，点燃他人之路；而唯有以行动为薪柴，这盏灯才能长明不灭。梦之所以珍贵，在于其不可伪饰的真实性。白昼里，我们受制于社会角色与世俗规范，言不由衷、行不随心，而梦是潜意识卸下铠甲后的裸呈。张若虚的落花里有对宇宙苍茫的哲思，李白的吴越山水间藏着对权贵的轻蔑，陆游的冰河铁马中裹着至死未熄的赤诚。这些梦境是心灵的指纹，独一无二，无法复制。因此，赠梦绝非克隆一个相同的夜晚，而是将那份最本真的生命体验敞开，让他人在共鸣中照见自身。正如庄周梦蝶，分不清物我；当两个灵魂因同一梦境而震颤，我与你的边界便悄然消融，人类最深刻的孤独终得慰藉。然而，赠梦从来不是虚无缥缈的呓语，它承载着文明最坚韧的传递链条。屈原将美政之梦赠予楚地百姓，虽九死而未悔；范仲淹将先天下之忧而忧的梦赠予后世士人，铸就了千年的精神脊梁；袁隆平在稻田里做禾下乘凉的梦，又将这梦赠予饥饿中的人们，用一粒种子改变世界。这些赠梦者，何尝拥有超自然的能力？他们不过是将心中的愿景化作行动，以毕生实践为梦境铺路。由此可见，赠梦的最高境界，不是把梦塞给别人，而是让别人在自己的行动中看见梦的模样。没有行动的赠梦，只是空中楼阁；唯有躬身入局，梦境才能从枕席间走出，成为可触可感的现实。当然，赠梦亦需边界与尊重。每个人的生命境遇不同，对梦的解读自有差异。强加于人的梦，不是馈赠，而是精神的殖民。真正的赠梦，应当如杜甫赠李白之诗，冠盖满京华，斯人独憔悴，他不曾要求李白放弃天姥山的云霞，只是以深切的理解让那份孤高有了回响。换言之，赠梦是提供一种可能，而非规定一种答案；是点燃一簇火焰，而非划定一条跑道。接受者可以在他人的梦境中汲取力量，却终须走出属于自己的夜路。站在时代的渡口上，我们这一代人既是梦的受赠者，也是梦的传承人。我们接过先辈铁马冰河的家国之梦，也接过落花闲潭的诗意之梦；我们被袁隆平的稻穗滋养，也被航天人的星辰照耀。而今，轮到我们将自己的梦赠予他人，或许是乡村振兴中的一滴汗水，或许是实验室里的一次彻夜不眠，或许只是对身边困境者的一份真诚守望。这些行动，正是我们把梦赠予世界的方式。愿我们都能成为执梦相赠之人。不必等某一天的超自然奇迹，从此刻开始，以行动为舟，以真诚为桨，将那些关于美好、关于正义、关于未来的梦境，渡向更辽阔的彼岸。须知，当无数盏心灯因赠梦而连成星海，长明的星火，便足以照见山河万代。2025 年全国高考二卷作文阅读下面的材料，根据要求写作。（60分） “昨夜闲潭梦落花”“我欲因之梦吴越”“铁马冰河入梦来”……梦往往以一种独特的方式呈现我们的感受和期冀，为我们打开更浩瀚的天空。我们也常常向别人讲述自己的梦，用文字记录自己的梦，以行动实现自己的梦。 如果有一天，我们能够将梦赠予他人…… 以上材料引发了你怎样的联想和思考？请写一篇文章。 要求：选准角度，确定立意，明确文体，自拟标题；不要套作，不得抄袭；不得泄露个人信息；不少于800字。
手持两把锟斤拷 口中疾呼烫烫烫 脚踏千朵屯屯屯 笑看万物锘锘锘
最近突然想起在学校学 c 的时候，某次课后作业的输出结果出现了一串烫烫烫🥲网上一搜发现这居然还有个顺口溜，好像也是编程中都会遇到的问题。聊聊原理锟[kūn]斤拷，http://baike.baidu.com/link?url=GCoDM7HBIV_JcJfXzIU9p1Rx7r8Ns2w6jVoZwnhn9ZizxhNG7egrUWojSETDzxb74uZFeVGIBK_qZYgNTo7So_)这一句在百度百科中可以查到，主要是因为在unicode编码转成GBK是出错的，因为并不是所有的字都能够用unicode表示，因此就会导致一些unicode无法比较的字默认填充一些字符，而unicode一般填充的是 \xef\xbf\xbd（UTF-8），而反复填充这些字符，就类似于这种形式：\xef\xbf\xbd\xef\xbf\xbd，而当使用GBK进行解析的时候，按照汉字占两个字节的规则，0xEFBF就对应“锟”， 0xBDEF对应“斤”，0xBFBD对应“拷”，所以就出现了这乱码了。烫烫烫 和 屯屯屯其实是一个原理，是我们在使用VC中文版的时候经常出现的问题，主要原因是我们使用了没有赋初值的局部变量，而VC中会对没有赋初值的部分自动填充一些初始字符， 一般填充 0xCC，两个连起来两个字节对应的就是“烫”，有些填充的是0xCD，相应的就是“屯”。锘锘锘 则是网页的乱码，也是编码问题，utf-8 与 GBK/gb2312
人活着就是为了玩为了爽从来不是为了得个奖上学、工作、运动交友、恋爱、结婚都是为了让人生变得更好玩如果哪天某段生活或者某种关系让你觉得不好玩甚至感到痛苦咱就直接跑路做到只看过程不重结果你才能玩的尽兴别把生活想那么累这世界上本质来讲的话是你一个人的世界你睁开眼这世界就在你闭上眼这世界就没了不要去纠结去焦虑难过就任它难过煎熬就任它煎熬就像你以前觉得天大的事回头一看不啥也不是吗所以一定要记住你自己才是这世界上的主角人生这场死亡率100%的游戏根本就没什么好怕的大胆去玩吧[vplayer url="https://blog.chario.cn/usr/uploads/2026/05/4032759384.mp4" pic="" /]
最近在东软实习，vmware技术支持。很多东西都没学过，也学不太会。毕竟企业不会像学校一样，给充足的时间让我学习东西。而我本身又是个要强的人，前两个月的学习时间就有点上火。最近结束培训开始正式干活了，我更清楚的感觉到 这份工作不适合我，或者说我做不了这份工作。技术支持是接工单的，工单不一定什么时候派发给你，那头的客户也不一定什么时候回复，你也不敢保证客户能遇到什么样的问题、工单什么时候结束……总之，这个工作完全没有规律和条理清，我恰好是个很有计划的人，我完全接受不了这种不确定的感觉，这会让我非常焦虑(¯ω¯)彡✎虽然说，到目前为止，没有人难为我，领导也没训过我，但是出于对自己控制不住的苛刻，我在这里待的非常难受。最近一周可以说是度日如年，非常想离职。但是现在离职了换个地方又要压一个月工资，我又是一个不喜欢换环境的人还有一个多月才能领毕业证，再坚持一个多月吧，一样能坚持住。每天想办法哄自己开心吧。实在不行就 6 月 15 日发工资之后离职，让自己休息两周，等着领毕业证
简介子比主题8.6开心版修复版本，非网上泛滥的版本。图片展示
最近把服务器上的站点从宝塔面板迁移到了1Panel 面板，原本运行正常的 API 站点直接报错，核心原因就是依赖的XLoader 扩展装不上，折腾了快一小时才搞定，特意记录下踩坑和解决过程，给同样迁移的朋友避坑。过程我的站点核心依赖 PHP 的 XLoader 扩展，宝塔面板里一键安装 XLoader 毫无压力，迁移到 1Panel 后，PHP 环境正常，但站点直接提示XLoader extension not loaded，第一步自然是去 1Panel 后台装扩展。1Panel 的 PHP 管理界面自带 XLoader 扩展选项，本以为一键安装就能解决，结果点了安装后：面板显示安装成功刷新 PHP 信息，XLoader 扩展压根没加载站点依旧报错，纯纯的无效安装这时候就放弃了面板一键安装，打算手动编译 / 上传 XLoader 文件安装，这也是第二个坑的开始。宝塔里手动装扩展的习惯是：下载对应 PHP 版本的 XLoader.so 文件上传到 PHP 扩展目录在 php.ini 里写绝对路径加载扩展我照着这个思路操作：下载了 PHP8.2 对应的 XLoader.so上传到目录：/opt/1panel/runtime/php/PHP82/extensions/no-debug-non-zts-20220829/在 php.ini 里添加配置：extension = /opt/1panel/runtime/php/PHP82/extensions/no-debug-non-zts-20220829/XLoader.so重载 PHP 配置后，直接报错：找不到该扩展文件 / 目录，反复检查路径、权限都没问题，就是加载失败。冷静下来想了想，宝塔是原生环境，1Panel 是容器化部署，这就是核心区别。容器化的 PHP，根本识别不了宿主机的绝对路径，它只会读取容器内的扩展默认目录。于是我打开 php.ini，翻了翻面板已经安装好的其他扩展（apcu、redis、memcached 等），写法全是这样：extension="apcu.so"extension="memcached.so"extension="redis.so"extension="imagick.so"extension="igbinary.so"没有任何绝对路径，只写扩展文件名 + 引号。照着其他扩展的格式，我把之前的绝对路径配置删掉，替换成一行：extension="XLoader.so"保存 php.ini，重载 PHP 配置，再刷新 PHP 信息，XLoader 扩展直接加载成功！站点瞬间恢复正常。总结放弃绝对路径：1Panel 的 PHP 是容器化环境，不要写宿主机的物理路径，容器识别不到标准写法：直接用 extension="扩展名.so"，和面板自带扩展保持一致文件位置：XLoader.so 必须上传到 PHP 的默认扩展目录（面板一键安装其他扩展的同级目录）避坑关键：从宝塔迁移过来，千万别用原生面板的操作习惯，容器化是最大的区别如果大家也遇到 1Panel 安装 XLoader / 其他自定义 PHP 扩展失败，优先检查配置写法，别再踩容器化路径的坑了！
前言昨天打算把博客服务从宝塔面板迁移到 1Panel，想着用 1Penal 部署 Halo 2 能省心不少，结果刚启动就遭遇了噩梦：容器启动几秒就崩溃，反复重启。一开始以为是环境变量写错、权限不足、网络不通，甚至怀疑是服务器系统镜像有问题，硬生生重装了五六次系统。折腾了大半天，最后还是看了一眼日志，才发现问题的根源居然 Halo 的新版本强制使用SSL/TSL连接MySQL！问题现象1Panel 应用商店安装 MySQL 5.7，默认配置启动。商店安装Halo 2.24.2 ，并填写外部访问地址。安装完毕启动后，Halo 容器反复重启，日志一直在产生日志，我随便截取了一段anel-halo-1GwU | 20:09:35,786 |-WARN in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1099855928 - 'maxHistory' is not set, ignoring 'totalSizeCap' option with value [1 GB]1Panel-halo-1GwU |1Panel-halo-1GwU | __1Panel-halo-1GwU | / / / /___ / /__1Panel-halo-1GwU | / /_/ / `/ / 1Panel-halo-1GwU | / __ / /_/ / / /_/ /1Panel-halo-1GwU | /_/ /_/\__,_/_/\____/1Panel-halo-1GwU |1Panel-halo-1GwU | Version: 2.24.21Panel-halo-1GwU | 2026-05-01T20:09:35.848+08:00 INFO 1 --- [ main] run.halo.app.Application : Starting Application v2.24.2 using Java 21.0.10 with PID 1 (/application/application.jar started by root in /application)1Panel-halo-1GwU | 2026-05-01T20:09:35.851+08:00 INFO 1 --- [ main] run.halo.app.Application : No active profile set, falling back to 1 default profile: "default"1Panel-halo-1GwU | 2026-05-01T20:09:37.411+08:00 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode1Panel-halo-1GwU | 2026-05-01T20:09:37.412+08:00 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data R2DBC repositories in DEFAULT mode.1Panel-halo-1GwU | 2026-05-01T20:09:37.683+08:00 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 259 ms. Found 37 R2DBC repository interfaces.1Panel-halo-1GwU | 2026-05-01T20:09:37.710+08:00 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode1Panel-halo-1GwU | 2026-05-01T20:09:37.711+08:00 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode.1Panel-halo-1GwU | 2026-05-01T20:09:37.720+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SalesChannelPaymentMethodRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.720+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.OrderTimelineRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.721+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.DigitalResourceRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.721+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentHistoryRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.722+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.OrderRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.722+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.UserAddressRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.723+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ProductVariantRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.724+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.725+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.OrderItemRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.725+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.VirtualKeyRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.726+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SellerPaymentChannelRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.726+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.PaymentMethodRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.727+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.CustomerDigitalResourceRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.728+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.RefundTransactionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.729+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.NotificationRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.729+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.TransactionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.729+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ShippingProfileRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.730+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.CartItemRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.730+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SellerProfileRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.731+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.RefundItemRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.731+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ShippingRateRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.732+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.PaymentSessionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.732+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ProductDescriptionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.732+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentMethodRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.733+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ProductImageRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.733+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentItemRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.734+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SellerRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.734+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ProductCategoryRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.735+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.CdkRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.735+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.CustomerRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.736+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.VirtualDeliveryConfigRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.736+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.extension.store.ExtensionStoreRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.737+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.SalesChannelRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.737+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.RefundRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.738+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ProductRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.738+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.ShippingZoneRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.739+08:00 INFO 1 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface run.halo.app.ecommerce.repository.FulfillmentLabelRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository1Panel-halo-1GwU | 2026-05-01T20:09:37.739+08:00 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 21 ms. Found 0 Redis repository interfaces.1Panel-halo-1GwU | 2026-05-01T20:09:39.632+08:00 WARN 1 --- [tor-tcp-epoll-2] i.a.r.mysql.client.ReactorNettyClient : Connection unexpectedly closed1Panel-halo-1GwU | 2026-05-01T20:09:39.634+08:00 ERROR 1 --- [tor-tcp-epoll-2] reactor.core.publisher.Operators : Operator called default onErrorDropped1Panel-halo-1GwU |1Panel-halo-1GwU | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.640+08:00 ERROR 1 --- [tor-tcp-epoll-2] i.a.r.mysql.client.ReactorNettyClient : Error: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU |1Panel-halo-1GwU | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.644+08:00 WARN 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient : Connection unexpectedly closed1Panel-halo-1GwU | 2026-05-01T20:09:39.649+08:00 WARN 1 --- [ main] onfigReactiveWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cdkDeliveryHandler' defined in class path resource [run/halo/app/ecommerce/delivery/CdkDeliveryHandler.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'cdkServiceImpl' defined in class path resource [run/halo/app/ecommerce/service/impl/CdkServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'cdkRepository' defined in run.halo.app.ecommerce.repository.CdkRepository defined in @EnableR2dbcRepositories declared on DataR2dbcRepositoriesAutoConfigureRegistrar.EnableR2dbcRepositoriesConfiguration: Cannot resolve reference to bean 'r2dbcEntityTemplate' while setting bean property 'entityOperations'1Panel-halo-1GwU | 2026-05-01T20:09:39.653+08:00 WARN 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient : Connection unexpectedly closed1Panel-halo-1GwU | 2026-05-01T20:09:39.653+08:00 WARN 1 --- [tor-tcp-epoll-2] reactor.netty.channel.FluxReceive : [91713181, L:/172.18.0.3:50568 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | 2026-05-01T20:09:39.654+08:00 ERROR 1 --- [tor-tcp-epoll-3] reactor.core.publisher.Operators : Operator called default onErrorDropped1Panel-halo-1GwU |1Panel-halo-1GwU | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.648+08:00 ERROR 1 --- [tor-tcp-epoll-1] reactor.core.publisher.Operators : Operator called default onErrorDropped1Panel-halo-1GwU |1Panel-halo-1GwU | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.657+08:00 ERROR 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient : Error: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU |1Panel-halo-1GwU | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.658+08:00 WARN 1 --- [tor-tcp-epoll-1] reactor.netty.channel.FluxReceive : [74b755b5, L:/172.18.0.3:50574 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | 2026-05-01T20:09:39.655+08:00 ERROR 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient : Error: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU |1Panel-halo-1GwU | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.660+08:00 WARN 1 --- [tor-tcp-epoll-3] reactor.netty.channel.FluxReceive : [267c5db2, L:/172.18.0.3:50580 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | 2026-05-01T20:09:39.670+08:00 WARN 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient : Connection unexpectedly closed1Panel-halo-1GwU | 2026-05-01T20:09:39.671+08:00 ERROR 1 --- [tor-tcp-epoll-3] reactor.core.publisher.Operators : Operator called default onErrorDropped1Panel-halo-1GwU |1Panel-halo-1GwU | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.672+08:00 ERROR 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient : Error: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU |1Panel-halo-1GwU | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.674+08:00 WARN 1 --- [tor-tcp-epoll-3] reactor.netty.channel.FluxReceive : [2fcc204a, L:/172.18.0.3:50584 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | 2026-05-01T20:09:39.680+08:00 WARN 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient : Connection unexpectedly closed1Panel-halo-1GwU | 2026-05-01T20:09:39.681+08:00 ERROR 1 --- [tor-tcp-epoll-1] reactor.core.publisher.Operators : Operator called default onErrorDropped1Panel-halo-1GwU |1Panel-halo-1GwU | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.682+08:00 ERROR 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient : Error: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU |1Panel-halo-1GwU | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.683+08:00 WARN 1 --- [tor-tcp-epoll-1] reactor.netty.channel.FluxReceive : [fffd973a, L:/172.18.0.3:50592 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | 2026-05-01T20:09:39.690+08:00 INFO 1 --- [ main] .s.b.a.l.ConditionEvaluationReportLogger :1Panel-halo-1GwU |1Panel-halo-1GwU | Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.1Panel-halo-1GwU | 2026-05-01T20:09:39.695+08:00 WARN 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient : Connection unexpectedly closed1Panel-halo-1GwU | 2026-05-01T20:09:39.696+08:00 ERROR 1 --- [tor-tcp-epoll-3] reactor.core.publisher.Operators : Operator called default onErrorDropped1Panel-halo-1GwU |1Panel-halo-1GwU | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.700+08:00 WARN 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient : Connection unexpectedly closed1Panel-halo-1GwU | 2026-05-01T20:09:39.701+08:00 ERROR 1 --- [tor-tcp-epoll-1] reactor.core.publisher.Operators : Operator called default onErrorDropped1Panel-halo-1GwU |1Panel-halo-1GwU | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.699+08:00 ERROR 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient : Error: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU |1Panel-halo-1GwU | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.704+08:00 WARN 1 --- [tor-tcp-epoll-3] reactor.netty.channel.FluxReceive : [18ed6fe4, L:/172.18.0.3:50608 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | 2026-05-01T20:09:39.704+08:00 ERROR 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient : Error: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU |1Panel-halo-1GwU | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.706+08:00 WARN 1 --- [tor-tcp-epoll-1] reactor.netty.channel.FluxReceive : [0b7b9ad7, L:/172.18.0.3:50618 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | 2026-05-01T20:09:39.715+08:00 WARN 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient : Connection unexpectedly closed1Panel-halo-1GwU | 2026-05-01T20:09:39.715+08:00 ERROR 1 --- [tor-tcp-epoll-3] reactor.core.publisher.Operators : Operator called default onErrorDropped1Panel-halo-1GwU |1Panel-halo-1GwU | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.716+08:00 ERROR 1 --- [tor-tcp-epoll-3] i.a.r.mysql.client.ReactorNettyClient : Error: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU |1Panel-halo-1GwU | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.714+08:00 ERROR 1 --- [ main] o.s.boot.SpringApplication : Application run failed1Panel-halo-1GwU |1Panel-halo-1GwU | org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cdkDeliveryHandler' defined in class path resource [run/halo/app/ecommerce/delivery/CdkDeliveryHandler.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'cdkServiceImpl' defined in class path resource [run/halo/app/ecommerce/service/impl/CdkServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'cdkRepository' defined in run.halo.app.ecommerce.repository.CdkRepository defined in @EnableR2dbcRepositories declared on DataR2dbcRepositoriesAutoConfigureRegistrar.EnableR2dbcRepositoriesConfiguration: Cannot resolve reference to bean 'r2dbcEntityTemplate' while setting bean property 'entityOperations'1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1218) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1184) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1121) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:994) ~[spring-context-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) ~[spring-context-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.boot.web.server.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:69) ~[spring-boot-web-server-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:154) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at run.halo.app.Application.main(Application.java:27) ~[application.jar:2.24.2]1Panel-halo-1GwU | Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cdkServiceImpl' defined in class path resource [run/halo/app/ecommerce/service/impl/CdkServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'cdkRepository' defined in run.halo.app.ecommerce.repository.CdkRepository defined in @EnableR2dbcRepositories declared on DataR2dbcRepositoriesAutoConfigureRegistrar.EnableR2dbcRepositoriesConfiguration: Cannot resolve reference to bean 'r2dbcEntityTemplate' while setting bean property 'entityOperations'1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:229) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1762) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | ... 20 common frames omitted1Panel-halo-1GwU | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cdkRepository' defined in run.halo.app.ecommerce.repository.CdkRepository defined in @EnableR2dbcRepositories declared on DataR2dbcRepositoriesAutoConfigureRegistrar.EnableR2dbcRepositoriesConfiguration: Cannot resolve reference to bean 'r2dbcEntityTemplate' while setting bean property 'entityOperations'1Panel-halo-1GwU | at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:377) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1712) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1461) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:1225) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1704) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | ... 34 common frames omitted1Panel-halo-1GwU | Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.data.r2dbc.autoconfigure.DataR2dbcAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'r2dbcDatabaseClient' defined in class path resource [org/springframework/boot/r2dbc/autoconfigure/ConnectionFactoryDependentConfiguration.class]: Failed to initialize dependency 'r2dbcScriptDatabaseInitializer' of DatabaseClient bean 'r2dbcDatabaseClient': Error creating bean with name 'r2dbcScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/r2dbc/autoconfigure/R2dbcInitializationAutoConfiguration.class]: Failed to execute database script1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:413) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1362) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1194) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | ... 48 common frames omitted1Panel-halo-1GwU | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'r2dbcDatabaseClient' defined in class path resource [org/springframework/boot/r2dbc/autoconfigure/ConnectionFactoryDependentConfiguration.class]: Failed to initialize dependency 'r2dbcScriptDatabaseInitializer' of DatabaseClient bean 'r2dbcDatabaseClient': Error creating bean with name 'r2dbcScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/r2dbc/autoconfigure/R2dbcInitializationAutoConfiguration.class]: Failed to execute database script1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:229) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1762) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | ... 67 common frames omitted1Panel-halo-1GwU | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'r2dbcScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/r2dbc/autoconfigure/R2dbcInitializationAutoConfiguration.class]: Failed to execute database script1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1817) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:309) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:309) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | ... 73 common frames omitted1Panel-halo-1GwU | Caused by: org.springframework.r2dbc.connection.init.UncategorizedScriptException: Failed to execute database script1Panel-halo-1GwU | at org.springframework.r2dbc.connection.init.DatabasePopulator.lambda$populate$4(DatabasePopulator.java:65) ~[spring-r2dbc-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at reactor.core.publisher.Mono.lambda$onErrorMap$0(Mono.java:3841) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Mono.lambda$onErrorResume$0(Mono.java:3931) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoUsingWhen$ResourceSubscriber.onError(MonoUsingWhen.java:206) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:107) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Operators.error(Operators.java:198) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoError.subscribe(MonoError.java:54) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Mono.subscribe(Mono.java:4569) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:104) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:107) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxRetry$RetrySubscriber.onError(FluxRetry.java:97) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.pool.AbstractPool$Borrower.fail(AbstractPool.java:504) ~[reactor-pool-1.2.5.jar:1.2.5]1Panel-halo-1GwU | at reactor.pool.SimpleDequePool.lambda$drainLoop$9(SimpleDequePool.java:444) ~[reactor-pool-1.2.5.jar:1.2.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxDoOnEach$DoOnEachSubscriber.onError(FluxDoOnEach.java:186) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.onError(MonoSubscribeOn.java:153) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:316) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:107) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:283) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:235) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:207) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Operators.complete(Operators.java:137) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.netty.FutureMono.doSubscribe(FutureMono.java:122) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.FutureMono$DeferredFutureMono.subscribe(FutureMono.java:114) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.core.publisher.Mono.subscribe(Mono.java:4569) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:268) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Mono.subscribe(Mono.java:4569) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:104) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:283) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onError(MonoIgnoreElements.java:84) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onError(MonoFlatMapMany.java:256) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:235) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:123) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.internal.util.DiscardOnCancelSubscriber.onError(DiscardOnCancelSubscriber.java:75) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onError(FluxPeekFuseable.java:899) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxHandle$HandleConditionalSubscriber.onError(FluxHandle.java:435) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onError(FluxPeekFuseable.java:899) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyEmitterProcessor.checkTerminated(SinkManyEmitterProcessor.java:537) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:403) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyEmitterProcessor.tryEmitError(SinkManyEmitterProcessor.java:230) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManySerialized.tryEmitError(SinkManySerialized.java:82) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.InternalManySink.emitError(InternalManySink.java:98) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.drainError(ReactorNettyClient.java:307) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:290) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU | Suppressed: java.lang.Exception: #block terminated with an error1Panel-halo-1GwU | at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Mono.block(Mono.java:1773) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at org.springframework.boot.r2dbc.init.R2dbcScriptDatabaseInitializer.runScripts(R2dbcScriptDatabaseInitializer.java:68) ~[spring-boot-r2dbc-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.runScripts(AbstractScriptDatabaseInitializer.java:159) ~[spring-boot-sql-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.applyScripts(AbstractScriptDatabaseInitializer.java:120) ~[spring-boot-sql-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.applySchemaScripts(AbstractScriptDatabaseInitializer.java:109) ~[spring-boot-sql-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.initializeDatabase(AbstractScriptDatabaseInitializer.java:87) ~[spring-boot-sql-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.afterPropertiesSet(AbstractScriptDatabaseInitializer.java:77) ~[spring-boot-sql-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1864) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1813) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:309) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:309) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:229) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1762) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:413) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1362) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1194) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1712) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1461) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:1225) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1704) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:201) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:229) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1762) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1651) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:912) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1382) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1221) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:565) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:525) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:333) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:331) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1218) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1184) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1121) ~[spring-beans-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:994) ~[spring-context-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) ~[spring-context-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at org.springframework.boot.web.server.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:69) ~[spring-boot-web-server-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:154) ~[spring-boot-4.1.0-RC1.jar:4.1.0-RC1]1Panel-halo-1GwU | at run.halo.app.Application.main(Application.java:27) ~[application.jar:2.24.2]1Panel-halo-1GwU | Caused by: org.springframework.dao.DataAccessResourceFailureException: Failed to obtain R2DBC Connection1Panel-halo-1GwU | at org.springframework.r2dbc.connection.ConnectionFactoryUtils.lambda$getConnection$0(ConnectionFactoryUtils.java:102) ~[spring-r2dbc-7.0.7.jar:7.0.7]1Panel-halo-1GwU | at reactor.core.publisher.Mono.lambda$onErrorMap$1(Mono.java:3855) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | ... 70 common frames omitted1Panel-halo-1GwU | Caused by: io.asyncer.r2dbc.mysql.client.MySqlConnectionException1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ClientExceptions.wrap(ClientExceptions.java:48) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | ... 33 common frames omitted1Panel-halo-1GwU | Caused by: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | ... 18 common frames omitted1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.717+08:00 WARN 1 --- [tor-tcp-epoll-3] reactor.netty.channel.FluxReceive : [7d9af05f, L:/172.18.0.3:50620 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | 2026-05-01T20:09:39.726+08:00 WARN 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient : Connection unexpectedly closed1Panel-halo-1GwU | 2026-05-01T20:09:39.727+08:00 ERROR 1 --- [tor-tcp-epoll-1] reactor.core.publisher.Operators : Operator called default onErrorDropped1Panel-halo-1GwU |1Panel-halo-1GwU | io.asyncer.r2dbc.mysql.client.MySqlConnectionClosedException: Connection unexpectedly closed1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ClientExceptions.unexpectedClosed(ClientExceptions.java:32) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.handleClose(ReactorNettyClient.java:321) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:268) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onComplete(Operators.java:2225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onComplete(FluxConcatMapNoPrefetch.java:240) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.checkTerminated(SinkManyUnicast.java:395) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:280) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:370) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManyUnicast.tryEmitComplete(SinkManyUnicast.java:209) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.SinkManySerialized.tryEmitComplete(SinkManySerialized.java:64) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.InternalManySink.emitComplete(InternalManySink.java:68) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.ReactorNettyClient.resumeError(ReactorNettyClient.java:292) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:95) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:225) ~[reactor-core-3.8.5.jar:3.8.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:484) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:277) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.FluxReceive.onInboundError(FluxReceive.java:472) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperations.onInboundError(ChannelOperations.java:538) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:153) ~[reactor-netty-core-1.3.5.jar:1.3.5]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:290) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:272) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.handleSslCompleted(SslBridgeHandler.java:116) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.asyncer.r2dbc.mysql.client.SslBridgeHandler.userEventTriggered(SslBridgeHandler.java:108) ~[r2dbc-mysql-1.4.1.jar:1.4.1]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1410) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1391) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.728+08:00 ERROR 1 --- [tor-tcp-epoll-1] i.a.r.mysql.client.ReactorNettyClient : Error: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU |1Panel-halo-1GwU | javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.decode(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.readRecord(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/sun.security.ssl.SSLEngineImpl.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at java.base/javax.net.ssl.SSLEngine.unwrap(Unknown Source) ~[na:na]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:306) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1493) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1384) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1435) ~[netty-handler-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:545) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:484) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[netty-codec-base-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:337) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:534) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:479) ~[netty-transport-classes-epoll-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[netty-transport-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.12.Final.jar:4.2.12.Final]1Panel-halo-1GwU | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]1Panel-halo-1GwU |1Panel-halo-1GwU | 2026-05-01T20:09:39.730+08:00 WARN 1 --- [tor-tcp-epoll-1] reactor.netty.channel.FluxReceive : [982ab562, L:/172.18.0.3:50628 ! R:mysql/172.18.0.2:3306] An exception has been observed post termination, use DEBUG level to see the full stack: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure排查过程第一步：无效排查（踩坑现场）反复核对数据库地址、端口、用户名、密码，确认无误。查看防火墙是否开放端口测试容器网络互通，用 ping 和 telnet 确认 3306 端口可访问。甚至怀疑是服务器内核问题，重装了 3 次系统，从 Debian 换到 Ubuntu，问题依旧。第二步：关键转折 —— 看日志！冷静下来后，我决定仔细看一遍完整日志，终于在一堆 INFO 日志里找到了关键报错：SSLHandshakeException: Received fatal alert: handshake_failure也就是 R2DBC 连接 MySQL 时强制启用了 SSL，但 MySQL 不支持 / 不允许 SSL 连接，导致握手失败、应用启动失败。解决方法：禁用 SSL 连接校验只需要在composer文件的 spring.r2dbc.url 后面加上 ?sslMode=DISABLED 参数，让驱动跳过 SSL 验证，直接使用普通 TCP 连接即可。修改后的 Docker Compose 示例services:halo:command:--spring.r2dbc.url=r2dbc:pool:${PANEL_DB_TYPE}://${PANEL_DB_HOST}:${PANEL_DB_PORT}/${PANEL_DB_NAME}?sslMode=DISABLED修改完成后重建即可，不过更推荐在新装的时候就改好。为什么会踩这个坑？惯性思维：遇到容器重启，第一反应是环境问题、配置错误，很少想到是 SSL 这种 “隐形” 的协议校验问题。日志一闪而过：面板里看不到完整报错，导致关键信息被忽略，只能靠反复重装试错。无相关案例：Halo 社区虽活跃，但是真正及时解答问题的比较少，所以也没搜到相关问题，也没去提问写在最后折腾服务器的过程，很多时候考验的不是技术有多强，而是能不能沉下心看日志、抓关键信息。这次踩坑也给我提了个醒：遇到问题别先慌着重装，日志才是解决问题的第一入口。如果你也在用 1Panel 部署 Halo 遇到了反复重启的问题，可以试试加个 sslMode=DISABLED 参数，大概率就能解决！欢迎大家在评论区交流
万能青年旅店的这首作品，从不是一句躁动的摇滚呐喊，而是华北平原工业时代落幕时，写给普通人的时代挽歌。克制的编曲、荒凉的叙事、悲壮的小号，把一代人被时代裹挟的麻木、挣扎与破碎，揉进了每一段旋律与字句里。歌曲以九十年代北方国企改制、下岗潮为底色，以石家庄这座老牌工业城为载体，勾勒出三代人的精神困境。傍晚六点下班、换掉药厂工装，妻子熬粥、小酌几瓶啤酒，三十年按部就班的安稳，构筑起普通人以为永远不会坍塌的生活堡垒。可如此生活三十年，直到大厦崩塌，一句词写尽宿命感：崩塌的从不是建筑，是固有的生活秩序、安稳的人生信仰，是一代人赖以生存的价值体系。“用一张假钞，买一把假枪，保卫她的生活”，是整首歌最刺骨的隐喻。假钞是失效的生活价值，假枪是无力的自我防御，身处时代洪流里的小人物，没有反抗命运的底气，只能用荒诞的方式，守住仅存的平凡日常。夜幕漫过华北平原，忧伤浸透眉眼，中年人的妥协与绝望，藏在烟火人间的琐碎背后，沉默又沉重。视角流转到河北师大附中的乒乓少年，背向人群、困在教室，被困在固化的成长轨迹里。心底藏着一万匹脱缰的马，是未被磨平的理想、渴望挣脱的叛逆，却终究被现实困住脚步。父辈的麻木、母亲的焦虑、少年的压抑，拼凑出一个普通家庭的缩影，也是大时代下无数平凡人的真实写照。编曲是歌曲的灵魂。平缓的吉他铺垫叙事，低沉的人声娓娓道来，而后嘹亮悲壮的小号骤然升起，层层攀升、直抵高潮，像积压多年的情绪轰然爆发，苍凉又磅礴。没有嘶吼式的宣泄，却用克制的旋律，放大了无声的绝望。所谓 “杀死那个石家庄人”，从不是具象的杀戮。杀死的是循规蹈矩的麻木，是被生活驯化的初心，是困在固有轨迹里不敢突围的自己。这首歌早已超越地域与时代，每个在日复一日里消磨理想、在现实浮沉中身不由己的人，都能听懂这份孤独与悲悯。它是华语摇滚的诗意巅峰，是镌刻时代记忆的音乐档案，温柔剖开生活的荒芜，也共情着每一个平凡灵魂的身不由己。