<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TimeZRO的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/TimeZRO</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TimeZRO]]></copyright><item><title><![CDATA[Spring boot 项目中进行kafka Stream app 开发]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/149149907</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/149149907</guid><author>TimeZRO</author><pubDate>Sun, 06 Jul 2025 11:04:12 +0800</pubDate><description><![CDATA[本文介绍了使用Kafka Streams进行消息处理的实现方法。主要内容包括：1) 通过Maven导入Kafka Streams依赖；2) 提供示例代码，展示如何配置Stream应用、构建拓扑结构（包括数据清洗、过滤、映射等操作）以及异常处理；3) 注意事项，如应用ID不能重复、KStream与Java Stream的区别、异常处理策略等；4) 常用方法说明，包括stream()、filter()、mapValues()等操作的使用方式。文中还特别强调了安全关闭Stream应用和异常处理的重要性。]]></description><category></category></item><item><title><![CDATA[基于AOP实现的数据脱敏功能]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/148305994</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/148305994</guid><author>TimeZRO</author><pubDate>Thu, 29 May 2025 21:38:31 +0800</pubDate><description><![CDATA[本文提出了一种基于AOP的自动数据脱敏方案。通过定义两个注解：@EnableDataDesensitization标记需要脱敏的方法，@Desensitize标注具体脱敏字段和类型，支持手机号、身份证、银行卡等多种脱敏模式。切面类DesensitizeAspect在方法返回后自动处理响应数据，递归遍历对象属性进行脱敏处理。该方案实现了对单个对象、集合、数组等复杂结构的自动脱敏，但存在循环引用会导致无限递归的问题。使用枚举定义多种脱敏类型，并提供自定义正则支持，使脱敏处理更加灵活高效。]]></description><category></category></item><item><title><![CDATA[通过事务钩子避免在事务内部执行异步操作]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/148125276</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/148125276</guid><author>TimeZRO</author><pubDate>Wed, 21 May 2025 22:15:06 +0800</pubDate><description><![CDATA[在实际开发中，发送消息到消息队列（MQ）的方法有时会被嵌套在事务内部，这可能导致事务回滚时消息已发送成功，引发数据不一致问题。为解决这一问题，可以通过事务钩子机制，将消息发送操作延迟到事务提交后执行。Spring 和 Seata 都提供了事务同步管理器，分别通过 TransactionSynchronizationManager 和 TransactionHookManager 实现。Spring 事务钩子通过 afterCommit 方法在事务提交后执行操作，而 Seata 则通过 Transaction]]></description><category></category></item><item><title><![CDATA[Java工具,多张PDF合并]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/146099669</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/146099669</guid><author>TimeZRO</author><pubDate>Fri, 07 Mar 2025 17:14:02 +0800</pubDate><description><![CDATA[多个pdf合并]]></description><category></category></item><item><title><![CDATA[记录Spring Cloud 项目集成 Power Job遇到的若干问题]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/145911505</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/145911505</guid><author>TimeZRO</author><pubDate>Thu, 27 Feb 2025 20:06:20 +0800</pubDate><description><![CDATA[任务一直执行失败, 提示: PowerJobException: fetch Processor failed, please check your processorType and processorInfo config;
本地启动Worker时, worker获取的本机IP错误 导致注册失败;
 由于Power Job Server 使用的协议是Https, 导致worker注册时请求失败 404]]></description><category></category></item><item><title><![CDATA[EasyExcel实现级联下拉框]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/145762693</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/145762693</guid><author>TimeZRO</author><pubDate>Thu, 20 Feb 2025 20:55:33 +0800</pubDate><description><![CDATA[最近项目有个需求导出excel需要在省和市两列实现级联下拉选择框,特地记录一下。这个类无需修改可以直接使用, 但是需要注意由于实现级联下拉需要创建一个隐藏的。列开始存放这个父级的子级选项, 隐藏是为了防止被误操作, 导致级联下拉失败。EasyExcel 实现级联下拉框需要创建一个类实现。实际上级联下拉就是在生成excel之前创建一个额外的。EasyExcel版本: 3.3.4。页开始读取, 跳过第一个。列存放父级选项, 从。]]></description><category></category></item><item><title><![CDATA[关于FTP未设置工作模式导致无法读取到文件问题]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/145431187</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/145431187</guid><author>TimeZRO</author><pubDate>Mon, 03 Feb 2025 16:50:00 +0800</pubDate><description><![CDATA[本地测试的时候的FTP服务器的配置与线上的配置一样（IP、端口、用户名、密码），这些都是一样的，连测试的时候读取的文件也是一样的。之所以没有设置被动模式连接，是因为之前在其他地方测试过，如果FTP服务器是主动模式，在连接的时候没有指定主动模式连接就会超时，但是如果FTP服务器是被动模式，在连接的时候就可以不指定连接模式。所以不知道是怎么回事。总之，连接FTP的时候最好显式指定工作模式，无论是主动模式还是被动模式，如果遇到FTP服务器相关问题可以尝试设置连接模式来解决。我配置的FTP服务器是被动模式，]]></description><category></category></item><item><title><![CDATA[关于xxl-job线程复用导致的日志混乱问题]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/145431060</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/145431060</guid><author>TimeZRO</author><pubDate>Mon, 03 Feb 2025 16:33:06 +0800</pubDate><description><![CDATA[ps：我在使用xxl-job的时候还出现了定时任务使用线程池异步执行时日志不打印的问题，之前一直没找到解决方式和问题原因，但是使用这个工具之后日志又正常了，不知道和这个有没有关系。来实现线程间的上下文传递，但是执行日志混乱问题。** 来安全的传递线程间的参数。在xxl-job中使用的是。可以使用阿里开发的**]]></description><category></category></item><item><title><![CDATA[Spring boot集成xxl-job以及动态任务配置]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/145431024</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/145431024</guid><author>TimeZRO</author><pubDate>Mon, 03 Feb 2025 16:29:56 +0800</pubDate><description><![CDATA[Spring boot 集成xxl-job, xxl-job动态任务实现]]></description><category></category></item><item><title><![CDATA[搭建FTP服务器（Linux）]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/145344879</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/145344879</guid><author>TimeZRO</author><pubDate>Fri, 24 Jan 2025 18:09:42 +0800</pubDate><description><![CDATA[ftp本地用户与虚拟用户, ftp]]></description><category></category></item><item><title><![CDATA[Seata Client 2.0 无法提示业务异常信息问题]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/145344390</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/145344390</guid><author>TimeZRO</author><pubDate>Fri, 24 Jan 2025 17:39:10 +0800</pubDate><description><![CDATA[参考issues: https://github.com/apache/incubator-seata/issues/6488。这个问题是由于Seata Server 的2.0 版本存在bug, 截至发稿日期尚未修复。这个问题只有等Seata官方修复此问题, 目前我的项目中已经回退到1.8版本。, 导致业务异常提示信息无法响应给前端。]]></description><category></category></item><item><title><![CDATA[Cola状态机实战]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/145343798</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/145343798</guid><author>TimeZRO</author><pubDate>Fri, 24 Jan 2025 17:27:53 +0800</pubDate><description><![CDATA[cola状态机, 状态机模式]]></description><category></category></item><item><title><![CDATA[RabbitMQ报错: Shutdown Signal: channel error]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/145343266</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/145343266</guid><author>TimeZRO</author><pubDate>Fri, 24 Jan 2025 16:43:27 +0800</pubDate><description><![CDATA[【代码】RabbitMQ报错: Shutdown Signal: channel error。]]></description><category></category></item><item><title><![CDATA[RabbitMQ从安装到上手]]></title><link>https://blog.youkuaiyun.com/TimeZRO/article/details/145341110</link><guid>https://blog.youkuaiyun.com/TimeZRO/article/details/145341110</guid><author>TimeZRO</author><pubDate>Fri, 24 Jan 2025 14:57:22 +0800</pubDate><description><![CDATA[rabbitmq安装, rabbitmq使用插件实现延时队列]]></description><category></category></item></channel></rss>