<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JB091的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/JB091</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JB091]]></copyright><item><title><![CDATA[记一次maven打包到私库，然后从私库拉取到另外工程的坑]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/139178974</link><guid>https://blog.youkuaiyun.com/JB091/article/details/139178974</guid><author>JB091</author><pubDate>Fri, 24 May 2024 17:05:49 +0800</pubDate><description><![CDATA[pom文件里面的 id配置maven-snapshots对应你maven setting.xml里面的 server下面的id。1，在自己要打成jar包的工程的pom文件里面加入公司的私库地址。(ps：记得你要打包的工程的pom文件里面不要加入其它私库没有的父模块，不然打包后，其它工程拉取不到，因为你的父工程不一定上传到私库了）。-- Maven私服SNAPSHAT仓库URL，这里需要替换为实际公司的私服地址 -->2，在另外工程里面引入时，在pom文件里面增加对应私库的地址。-- ID必填 -->]]></description><category></category></item><item><title><![CDATA[Spring Boot项目整合Nacos, openfeign,hystrix。]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/139000534</link><guid>https://blog.youkuaiyun.com/JB091/article/details/139000534</guid><author>JB091</author><pubDate>Fri, 17 May 2024 14:02:50 +0800</pubDate><description><![CDATA[前言：公司之前的项目是单体架构，多个业务都在一个应用里面，用的ruoyi的Spring Boot单体架构，入职没几天，领导说项目并发量上来了，要把业务拆分成不同的服务，这时候招我进来的A同事说了她的想法，拆成单体的Spring boot分布式项目，个人更倾向拆成Spring Cloud微服务架构，激烈讨论了几天，A同事强硬说要搞成单体的分布式服务架构，不搞微服务架构，毕竟我是A同事内推，面试进来的，那就按她的方案搞吧（哈哈，技术架构选型人家选新的，我们选落后，倒退的）。，好吧，那就用吧）。]]></description><category></category></item><item><title><![CDATA[Nacos安装问题]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/138907129</link><guid>https://blog.youkuaiyun.com/JB091/article/details/138907129</guid><author>JB091</author><pubDate>Wed, 15 May 2024 14:20:38 +0800</pubDate><description><![CDATA[1，Nacos安装的时候，linux环境安装了jdk，但是没有配置环境变量，会报错。使用的yum命令安装的，自动带上jre目录，修改nacos的启动脚本。直接指定JAVA_HOME并指向到jre目录。注：此时如果环境变量未配置的话则返回空。这时候需要配置一下环境变量。]]></description><category></category></item><item><title><![CDATA[批量处理新增数据方案]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/137866264</link><guid>https://blog.youkuaiyun.com/JB091/article/details/137866264</guid><author>JB091</author><pubDate>Wed, 17 Apr 2024 11:33:59 +0800</pubDate><description><![CDATA[用户实体]]></description><category></category></item><item><title><![CDATA[对返回ID加密处理返回方案]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/135695708</link><guid>https://blog.youkuaiyun.com/JB091/article/details/135695708</guid><author>JB091</author><pubDate>Fri, 19 Jan 2024 13:45:51 +0800</pubDate><description><![CDATA[/if(obj[idEncryptHandler.reqDecryptIndex()] instanceof Integer){ //如果入参是 Integer 类型。//  }else if(obj[idEncryptHandler.reqDecryptIndex()] instanceof Long){ //如果入参是 Long 类型。}else if(obj[idEncryptHandler.reqEncryptIndex()] instanceof List){//加密参数是List类型。]]></description><category></category></item><item><title><![CDATA[http请求工具类]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/135124440</link><guid>https://blog.youkuaiyun.com/JB091/article/details/135124440</guid><author>JB091</author><pubDate>Thu, 21 Dec 2023 10:25:13 +0800</pubDate><description><![CDATA[log.error("请求出错，请求的url是{},参数是{},结果是{},异常是{}", requestUrl, paramJson, paramJson, e);log.error("请求出错，请求的url是{},参数是{},结果是{},异常是{}", requestUrl, paramJson, paramJson, e);log.error("请求出错，请求的url是{},参数是{},结果是{},异常是{}", requestUrl, paramJson, paramJson, e);]]></description><category></category></item><item><title><![CDATA[http调用返回码400的坑]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/134973918</link><guid>https://blog.youkuaiyun.com/JB091/article/details/134973918</guid><author>JB091</author><pubDate>Wed, 13 Dec 2023 15:39:30 +0800</pubDate><description><![CDATA[1，调用同事的RPC接口（根据对应的对象ID集合，或许对应的对象集合）报400错误，测试环境没有报错，生产上面报错，客观原因为测试环境数据量少，生产上面数据量多，测试没有测出来；根本原因是同事写的rpc接口是get请求，请求参数是个数组集合，当请求参数超过1024的长度就会报错了。416，请求中包含Range请求头字段，在当前请求资源范围内没有range指示值。404，可连接服务器，但服务器无法取得所请求的网页，请求资源不存在。200，表明该请求被成功地完成，所请求的资源发送到客户端。]]></description><category></category></item><item><title><![CDATA[Redis缓存踩坑覆盖设置List缓存对象]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/134972465</link><guid>https://blog.youkuaiyun.com/JB091/article/details/134972465</guid><author>JB091</author><pubDate>Wed, 13 Dec 2023 14:58:19 +0800</pubDate><description><![CDATA[有时候想缓存列表接口，有新的list对象产生就覆盖原来的list对象。现成的redis操作集合的方法没有这个全部覆盖的方法，要转换思想，把lsit对象转换成一个josn字符串，进行缓存。* 缓存基本的对象，Integer、String、实体类等。//将list对象转换成 json字符串，然后设置对应的缓存。* @param key      缓存的键值。* @param timeUnit 时间颗粒度。* @param value    缓存的值。* @param timeout  时间。]]></description><category></category></item><item><title><![CDATA[Redis缓存工具类]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/134971775</link><guid>https://blog.youkuaiyun.com/JB091/article/details/134971775</guid><author>JB091</author><pubDate>Wed, 13 Dec 2023 14:38:54 +0800</pubDate><description><![CDATA[Component@Autowired0L : count;0L : count;0L : count;0L : count;0L : count;0L : count;} else {= null;0L : count;0L : count;]]></description><category></category></item><item><title><![CDATA[SpringBoot2.0的@Cacheable(Redis)缓存失效时间解决方案]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/134971551</link><guid>https://blog.youkuaiyun.com/JB091/article/details/134971551</guid><author>JB091</author><pubDate>Wed, 13 Dec 2023 14:33:42 +0800</pubDate><description><![CDATA[如上图所示，这个时候，实际客户端拥有的是一个代理的引用，那么在调用 foo() 方法的时候，会首先调用 proxy 的 foo() 方法，这个时候 proxy 可以整体控制实际的 pojo.foo() 方法的入参和返回值，比如缓存结果，比如直接略过执行实际的 foo() 方法等，都是可以轻松做到的。Redirecting...这样一来，单独的去调方法B是有缓存的，但是如果调方法A，A里面再去调B方法，哪怕B方法配置了缓存，也是不会生效的。且判断condition，如果返回true，则移除缓存；]]></description><category></category></item><item><title><![CDATA[Redis分布式锁使用 一]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/134970143</link><guid>https://blog.youkuaiyun.com/JB091/article/details/134970143</guid><author>JB091</author><pubDate>Wed, 13 Dec 2023 13:47:18 +0800</pubDate><description><![CDATA[log.error("失败定时更新抽奖订单状态");//org.redisson.api,导入redisson对应jar包。//加锁成功，执行你的业务代码。// 如果是锁的直接返回。//获取对应的key值锁对象。//记得最后要释放锁。]]></description><category></category></item><item><title><![CDATA[执行方法想知道这个方法的耗时，优雅方式一]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/134969520</link><guid>https://blog.youkuaiyun.com/JB091/article/details/134969520</guid><author>JB091</author><pubDate>Wed, 13 Dec 2023 13:14:37 +0800</pubDate><description><![CDATA[耗时 = {}", new Object[]{label, endTerm, Duration.between(start, LocalDateTime.now())});this.log.info("【{}】开始", label);String endTerm = "结束";endTerm = "异常结束";//XX是你要统计耗时的执行方法。1 ，新建一个处理统计耗时的业务类。]]></description><category></category></item><item><title><![CDATA[递归算法示例]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/134967935</link><guid>https://blog.youkuaiyun.com/JB091/article/details/134967935</guid><author>JB091</author><pubDate>Wed, 13 Dec 2023 11:31:04 +0800</pubDate><description><![CDATA[主要思想是，用I控制递归次数，传入参数，进行业务处理，处理完后判断当前是否满足业务，满足return返回，不满足继续处理，递归次数+1；递归要注意递归次数，别搞的死循环了，影响内存，导致服务器崩！* @param resultChinaList 返回数据。* @param resultList  返回数据。* @param i 循环次数。//只递归循环10次。//调用递归方法，传入一些参数。]]></description><category></category></item><item><title><![CDATA[mysql 用户阅读次数或是点击量，浏览量加1的操作]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/134967222</link><guid>https://blog.youkuaiyun.com/JB091/article/details/134967222</guid><author>JB091</author><pubDate>Wed, 13 Dec 2023 11:09:06 +0800</pubDate><description><![CDATA[update xxxxx_xxx  set count = count+1 where product_id = 1 就可以了，千万别查询出来原业务次数，然后作为参数传入，在进行+1。并发的时候对应的次数就不对了，会导致次数丢失。]]></description><category></category></item><item><title><![CDATA[mysql 按特定城市优先排序，然后按省份的中文字母排序，然后按城市的中文字母排序 示例。]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/134966703</link><guid>https://blog.youkuaiyun.com/JB091/article/details/134966703</guid><author>JB091</author><pubDate>Wed, 13 Dec 2023 10:57:08 +0800</pubDate><description><![CDATA[when a.city ='东莞市' then 17。when a.city ='苏州市' then 10。when a.city ='西安市' then 11。when a.city ='长沙市' then 12。when a.city ='沈阳市' then 13。when a.city ='青岛市' then 14。when a.city ='郑州市' then 15。when a.city ='大连市' then 16。when a.city ='深圳市' then 0。]]></description><category></category></item><item><title><![CDATA[sql 有发布时间字段，排序字段，要求按发布日期先排序，然后按排序字段排序，然后按发布时间排序解决方案]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/134965951</link><guid>https://blog.youkuaiyun.com/JB091/article/details/134965951</guid><author>JB091</author><pubDate>Wed, 13 Dec 2023 10:38:05 +0800</pubDate><description><![CDATA[1，用DATE函数将时间截取到日期。最后在order by的时候先 order by  DATE(your_datetime_column) desc, sort desc, your_datetime_column desc。]]></description><category></category></item><item><title><![CDATA[mysql根据查询结果去排序示例]]></title><link>https://blog.youkuaiyun.com/JB091/article/details/134965218</link><guid>https://blog.youkuaiyun.com/JB091/article/details/134965218</guid><author>JB091</author><pubDate>Wed, 13 Dec 2023 10:18:58 +0800</pubDate><description><![CDATA[将查询结果作为条件，参与排序。]]></description><category></category></item></channel></rss>