所遇问题
所遇问题
编程爱好者熊浪
这个作者很懒,什么都没留下…
展开
-
浏览器Content-Range断点续传MP4文件
【代码】浏览器Content-Range断点续传MP4文件。原创 2024-07-12 17:07:31 · 115 阅读 · 0 评论 -
ES新建格式化时间索引
【代码】ES新建格式化时间索引。原创 2024-06-29 15:58:33 · 94 阅读 · 0 评论 -
安装maven遇到的问题
使用mvn -version命令如果报表示windows没有识别到maven,就是你的环境进入不了你maven的路径。所以你直接用绝对路径试下。之后重启cmdjdk的版本为1.5,这个版本的maven不支持1.5的jdk,但我查了我其实是1.6的jdk,还是抱1.5,不是很懂,之后我换成1.7,重启cmd效果原创 2017-04-28 21:31:31 · 526 阅读 · 0 评论 -
getWriter() has already been called for this response
今天直接组合开源分布式工具zookeeper,其中有个下载功能,可以下载成功,但就是后台一直抛出很多错误,org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: getWriter()原创 2017-07-29 16:13:16 · 807 阅读 · 0 评论 -
maven下载了source的class文件源码后,还是不能断点的解决办法
第一步:已下载class源码,但还是不能调试,解决办法,安装JAD编译器插件。下载jadClipse的jar包链接:sourceforge.net/projects/jadclipse/下载jad.exe工具链接:http://varaneckas.com/jad/第二步:安装插件(1)把net.sf.jadclipse的jar包放入ecli原创 2017-09-19 15:51:30 · 1432 阅读 · 1 评论 -
使用EasyUI的新版本出现Cannot read property ‘options‘ of undefined
使用EasyUI的新版本出现Cannot read property 'options' of undefined。解决步骤:1、通过浏览器js提示,确定问题所在,可能出现循环调用,不是每次都抛异常,需要细心。2、断点,确定具体问题_24b是undifined,undefined调用属性options当然就报没有该属性,之后确定_24b的来源,$.data(_249,'原创 2017-10-11 11:37:08 · 33655 阅读 · 1 评论 -
SpringMVC支持内部类的跳转吗
如果我想使用注解跳转到一个内部类里面,应该怎么做。首先通过源码知道,scanner扫描的时候,默认烧苗的是base-packag下面的.class文件。其次scanner扫描的是00000000原创 2017-10-12 11:03:36 · 612 阅读 · 1 评论 -
mybatis使用拦截器后,foreach失效
使用mybatis拦截器需要小心,低版本是foreach会失效,这是因为我们新建立的boundSql对象的metaParameters属性值没有复制,不设置originalObject为0,foreach遍历就会为空。 所以我们需要给新的boundSql添加metaParameters属性值,通过反射获取老的boundSql的metaParameters属性值,设置到新...原创 2018-05-10 21:27:50 · 2642 阅读 · 1 评论 -
kafka报Commit cannot be completed since the group has already rebalanced
错误原因:kafka设置了自动提交,但在规定的提交时间之内却没有处理完消息,导致消息自动提交出错,这样还会引发一个问题,就是当提交的消息不成功,kafka有重试机制,这样就会重新消费该消息,但消费又不成功,这样循环,会导致后面的消息堆积过多。解决办法:1、修改提交方式,改为手动提交(默认为自动提交);2、根据实际情况,修改提交时间(默......原创 2018-08-08 14:29:13 · 35991 阅读 · 1 评论 -
前端常见跨域解决方案(全)
什么是跨域?跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。广义的跨域:1.) 资源跳转: A链接、重定向、表单提交2.) 资源嵌入: <link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链3.) 脚本请求...原创 2019-06-27 09:27:13 · 1230 阅读 · 0 评论 -
获取局域网里面在线的IP和mac地址
package com.thinkgem.jeesite.common.utils;import com.google.common.collect.Lists;import com.suyun.rfts.modules.constant.StringConstant;import org.slf4j.Logger;import org.slf4j.LoggerFactory;im...原创 2019-07-31 11:44:18 · 1375 阅读 · 1 评论 -
直接使用前台js连接打印机打印条码并解决乱码问题
客户需求:1、在一个局域网里面有多台打印机,客户可以选择那台打印机打印;2、不能使用服务端访问打印机,因为阿里云内网和本地打印机IP不互通。3、基本需求是打印机作为服务器,所以不能使用http协议,因为服务器没有返回值,也就不能使用WebSocket,只能用Socket。设计思路:维护一张表,可以排除一些不能使用的打印机,打印机mac地址,打印机名称,比如设备部打印机,测试部打印机...原创 2019-08-01 21:42:59 · 2107 阅读 · 0 评论 -
一次项目漏洞升级的过程(JDK8升级到JDK17)
1、spring-web需要升级到6.x,spring-boot需要升级到3.x,JDK需要升级到JDK17(Oracle JDK17三年免费授权从2024年9月,所以需要使用OpenJDK17),Java EE转Jakarta;因为使用了OpenJdk17,cglib代理在2019年8月停止更新,OpenJDK17是2019年9月出来的,也不支持需要修改;第二步、扫描后的漏洞存在镜像漏洞,中间件漏洞和代码jar包漏洞;第三步、区分对外和不对外的服务,先更新对外服务;第二步、更新IDEA的JDK配置。原创 2024-01-19 11:43:43 · 819 阅读 · 0 评论 -
一次JAVA调用C++的.so库的过程
【代码】一次JAVA调用C++的.so库的过程。原创 2023-12-29 15:10:24 · 771 阅读 · 0 评论 -
对于并发修改同一条数据的处理方案
(一)、直接拼接唯一的条件作为字符串,判断两条数据是一条数据的条件,把它放入常量池(intern方法),之后对常量池字符串加锁,保证同一条数据只会一个一个修改;批量消费Kafka数据,一个批次针对同一条数据做新增和修改操作,当前一条数据还未更新完成,后一条数据也同步修改,数据就存在异常;(一)、使用Redis中间件加锁,同一条数据先阻塞,但这种方式的Redis锁也需要加在判断两条数据属于同一条数据的查询条件上;(二)、发送消息到同一个topic,使用线程池数组队列阻塞同一条修改的数据。原创 2023-12-06 17:35:09 · 375 阅读 · 0 评论 -
一次解决IDEA编译运行不报错,但代码报红线,提示工具也出现不了代码的问题
猜测意思是这个文件使用Kotlin编译的文件,当前IDE用的Kotlin编译器版本是1.4.0,但这个文件编译器用的是1.6.0,说明Kotlin编译器版本太低了;项目引用了okhttp3.5.0版本,之后需要升级到okhttp4.10.0,为了提高性能;/ 此类文件是使用不同版本的 Kotlin 编译器编译的,无法反编译。解决,全盘搜索,已经能在Classes里面找到了。但可以正常编译,运行,说明JDK是支持的;点开文件,没有任何类型,只有一句提示。全盘搜索,找到对应的类;升级Kotlin编译器。原创 2023-09-06 09:51:02 · 3925 阅读 · 0 评论 -
怎么做到Kafka顺序读写
SQL语句需要顺序执行,因为不顺序执行,比如先新增了一条数据,才有可能修改这条数据,假如先执行修改操作,后执行新增操作,那这个数据就错了。原创 2023-07-15 12:04:50 · 1321 阅读 · 0 评论 -
一次阿里云Schedulerx换成Spring定时任务的过程
* 手动定时任务处理调用阿里云定时器 {@link com.suyun.vehicle.conf.SpringScheduleConfig}*原创 2023-07-05 19:52:16 · 1215 阅读 · 0 评论 -
Collectors.toMap 根据(key和value排序)Stream的使用
需求:用户想知道每个车队在一段时间内跑里程最多的5辆车,先获取了这一段时间所有的车辆数据,首先排序,之后分组(先分组后排序也一样),之后取前5条,在把他们放入一个Map中,Map需要根据里程排序。根据某个字段分组,之后取每组的前5(可以设置)条,之后返回五个对象的某个属性,根据Value排序(取前5条的时候已经排序,可以使用链表接收)根据某个字段分组,之后取每组的前5(可以设置)条,之后返回五个对象的某个属性,根据Key排序。原创 2023-06-13 09:45:52 · 816 阅读 · 0 评论 -
记一次Springboot+spring-boot-devtools+Kafak反序列化失败的问题
2、反序列化的接收值使用org.apache.kafka.common.utils.Bytes(kafka-clients Jar里面)1、借助Kafka-client的Bytes对象,定义kafka-clients使用RestClassLoader加载。1、直接使用byte数组接收,直接反序列化byte数组(byte是基本类型,byte数组是引用类型)这样Kafak的bytes数组都使用RestClassLoader加载,对象反序列化就可以了。序列化反序列化都使用RestClassLoader。原创 2023-06-13 09:02:04 · 168 阅读 · 0 评论 -
记一次binlog恢复Mysql某张表数据的过程
7、把binlog文件转为sql文件(需要转换几个,修改binlog文件名和生成的sql名称就可以了)2、要用户不能操作(如果不能停止,可以新建一个库,所有的binlog执行操作在新库执行)。8、继续新开一个窗口,进入刚刚生成SQL的文件目录下。6、新开一个窗口,找到 mysqlbinlog所在。登录成功后,通过source命令,加载sql文件。可以看出,文件主要更新所在文件是175.sql。10、使用mysql的root用户登录。14、同步刚刚导出的表数据;12、导出这张表的数据。binlog文件所在。原创 2023-06-06 20:06:05 · 2127 阅读 · 0 评论 -
JDK11+mybatis-plus+shardingsphere分库分表
打开org.apache.shardingsphere.shardingjdbc.spring.boot.SpringBootConfiguration类,断点在,查看shardingRule规则是否正常加载,之后看代码是否正常启动。3、获取指定的数据源后,会包装获取对应org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection。2、根据@DS的值获取数据源,数据源就是配置的name,会作为map的key。原创 2023-06-05 15:55:11 · 892 阅读 · 0 评论 -
记一次处理Spring-boot使用dubbo类型转换失败的问题
3、使用Bootstrap或Extension的ClassLoader做返回,这样也能正常返回,比如用Object接收,但对Dubbo返回的对象,使用强转,也存在加载器不同,不能强转的问题,之后就需要借助反射,反射针对的是属性和方法,不同的加载器也是可以处理的,这样就处理了一个,但每个地方都需要反射,就提炼出一个公共的类处理。第三步、查看报错信息,同一个类型转换失败,但后面加了个RestartClassLoader,没有引入自己实现过这个ClassLoader啊,一般用的是。原创 2023-05-29 09:47:50 · 813 阅读 · 0 评论 -
记一次Redis消息订阅序列化和反序列化的错误
使用约定优于配置,默认Application文件都放于com.book文件夹下,所有的代码和自定义包都放于com.book.**下面,所以不存在扫描不到;7、判断是否是配置读取优先级的问题,把配置信息放于bootstrap配置文件,bootstrap优先级高于application,发现可以正常读取,问题解决;2、Redis的Config配置了JSON序列化,覆盖JDK序列化,便于中文查看,配置文件使用ConditionalOnProperty断言;1、使用的SpringBoot;2、提高配置读取优先级;原创 2023-05-26 08:53:49 · 1000 阅读 · 0 评论 -
Vue v-for 数组对象更新,视图不更新
定义监听方法,值变更后会更新视图。原创 2023-04-23 09:41:41 · 945 阅读 · 1 评论 -
JAVA国际化中文乱码
国际化对象ResourceBundleMessageSource(可以是别的实现对象)设置解析编码。直接网上找个Unicode转UTF-8在线转回来就可以了。1、项目文件使用的是GBK,正常显示;国际化配置文件中文变为Unicode码。2、项目统一改为UTF-8。原创 2023-04-07 09:00:11 · 713 阅读 · 0 评论 -
JAVA读取图片中文信息
tesseract C:\Users\leo.xiong\Desktop/微信图片_20230131130543.png C:\Users\leo.xiong\Desktop/output_o1 -l ./tessdata/chi_sim。查看桌面是否生成文件,如果正常生成,表示安装已经OK。新增TESSDATA_PREFIX数据前缀名称路径。系统环境变量Path新增路径。3、测试是否配置成功。4、命令测试生成文件。原创 2023-02-01 11:51:11 · 856 阅读 · 0 评论 -
控制层怎么接收集合对象对象
第一种传参方式第二种传参方式JSON字符串原创 2020-01-11 09:38:20 · 789 阅读 · 0 评论 -
数据库用户名密码加密
添加jar包<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.2</version></dependency>编写工具类package com.book.modules.ut原创 2020-05-28 09:23:40 · 1101 阅读 · 0 评论 -
缓存失效时的卡顿处理
定时器刷新缓存,但定时器如果还未执行,但缓存刚好已经过期,也会存在卡顿,所以定时器的调度时间需要小于最小的缓存失效时间,最好设置为足够小,可以考虑15s,但带来了一个新的问题,查询数据库可能更加频繁,而且是慢SQL,过多的查询可能会导致数据库CPU飙升,从而导致数据库性能降低,最终可能导致数据库宕机;对于查询频繁和连表过多,查询过慢的方法,我们都会使用Spring 缓存和Redis缓存处理,查询频繁,但不代表查询慢,这里不做考虑,普通使用缓存就可以,3、到了设置的更新缓存的时间更新缓存;原创 2022-09-22 19:58:21 · 323 阅读 · 0 评论 -
JAVA正则校验车牌号
代码】JAVA正则校验车牌号。原创 2022-07-22 11:15:14 · 2792 阅读 · 2 评论 -
Mybatis-plus自定义代码生成
package com.book.modules.util;import com.baomidou.dynamic.datasource.provider.DynamicDataSourceProvider;import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;import com.baomidou.mybatis.原创 2020-05-28 09:15:17 · 669 阅读 · 0 评论 -
java获得当前文件路径
第一种:File f = new File(this.getClass().getResource("/").getPath());System.out.println(f);结果:C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin获取当前类的所在工程路径;如果不加“/”原创 2016-04-07 13:50:04 · 1218 阅读 · 0 评论 -
GuavaCacheUtil包
package com.book.common.util;import com.google.common.cache.CacheBuilder;import com.google.common.cache.CacheLoader;import com.google.common.cache.LoadingCache;import com.google.common.cache.RemovalListener;import com.google.common.cache.RemovalNoti.原创 2020-05-28 09:13:19 · 595 阅读 · 0 评论 -
一份数据,需要多个排序多个排序功能的实现
三种方法1、只有sql查询就可以实现的(直接sql排序)2、通过Map组装数据信息,map使用有序的TreeMap3、使用JDK8的stream方法(推荐)sorted方法先排序,thenComparing继续排序一直可以添加,sorted比较必须使用对象的一级属性,比较次级属性,可以在方法里面实现。private List<? extends BusInfo> so...原创 2020-03-05 10:42:30 · 456 阅读 · 0 评论 -
使用JFreeChart画柱状图
/** * 画图 * * @param histogramValueVoList * @return */ private ImageEntity generatePicture(List<HistogramValueVo> histogramValueVoList, String pictureTitle, String xName, String yName, String dataName) { DefaultC..原创 2021-04-16 10:17:00 · 993 阅读 · 2 评论 -
JAVA浏览器response导出文件
后端,写出一个流给out@RequestMapping("/downLoad") @ResponseBody public Result<String> downLoadCsv(@RequestParam(name = "taskId") String taskId, @RequestHeader(name = "currentUser", required = true) String curre原创 2021-04-09 11:32:39 · 6402 阅读 · 0 评论 -
SpringBoot和Spring排除某个Config文件不加载
阿里云的Schedulerx启动时需要阿里的tomcat,需要注册到阿里服务器上,不能使用懒加载方式,但测试时注入不成功,所以测试需要排除Schedulerx的Bean方法:1、Schedulerx的Bean单独放一个Config文件(测试不想初始化的Bean单独放一个文件)一、SpringBoot测试去除某个配置文件不加载。package com.suyun.svop.admin;import com.suyun.svop.SvopAdminApplication;import .原创 2021-05-08 15:22:59 · 5455 阅读 · 0 评论 -
一次Ali-Tomcat改为Https的过程
Ali-tomcat-8.5.31不成功,java.io.FileNotFoundException/root/.keystore(Nosuchfileordirectory),修改为tomcat7的就成功了。选择SLB(需要使用https的IP是代理IP,所以选择SLB)(一)、申请阿里云免费SSL(每过一年需要重新申请,一个)域名->管理->新增,选择TXT,把2个随机值复制。之后点击SSL验证->申请,等待通过。取消注释,添加路径和口令。修改tomcat配置。............原创 2022-07-27 16:11:28 · 452 阅读 · 0 评论 -
一次Bean named ‘xxx‘ is expected to be of type ‘xxxx‘ 记录
1、报错,没有实现BeanCaused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'forwardCompanyInfoService' is expected to be of type 'com.suyun.vehicle.data.service.impl.ForwardCompanyInfoServiceImpl' but was actually of type 'com.su原创 2022-04-15 12:12:31 · 3749 阅读 · 0 评论