- 博客(246)
- 资源 (43)
- 收藏
- 关注

原创 软件设计师进阶系统架构设计师自我总结
今年上半年过了软设,想着就向高级冲刺一下。高级里面有分量的有 系统分析师 系统架构师我选择了架构师,冲着名字好听。其实二门基础课程有70%重叠的。当我6月份准备考架构的时候,我认真查看了考试大纲。软设上来的还是有优势的。安全性保密性、多媒体、可靠性、数据库、网络基础、系统开发基础(SA、SD、OOA、OOD)、知识产权、计算机组成这些模块类似我制定了学习计划...
2019-12-17 10:35:43
1617
3
原创 Easy Excel合并单元格情况简单导入导出
虽然合并单元格,但是读取还是有2行。如果是上面导出模板,那么导入的时候,2行在合并单元格列都能读取到数据。如果是新增的情况,那么只有在首行能读取到导入的合并单元格数据。介于一对一关系这边忽略。如果在导出的情况下修改,那么合并单元格也只能首行能读取到数据。
2024-10-24 10:47:10
1311
原创 kbjdbc: autodetected server-encoding to be ISO-8859-1, if the message is not readable, please check
这条信息是来自 KingbaseES 数据库的一个 JDBC 客户端连接提示。KingbaseES 是一个企业级的关系型数据库管理系统,它兼容 PostgreSQL 的许多特性。如果上述步骤仍然无法解决问题,建议详细查看数据库和客户端的日志文件,以获取更具体的错误信息。此外,也可以考虑联系 KingbaseES 的技术支持获取帮助。项目融合kingbase数据库,输出日志乱码。结果:网上各种调整各种试。
2024-10-10 10:08:00
2972
原创 持久化SSE对象
SpringBoot整合SSE,实现后端主动推送DEMO前些日子写了整合SSE得demo。但是SSE对象是存储在ConcurrentHashMap中。在正式环境明显就不行了,服务重启一下的话都没有了。那么要持久化,第一选择放redisSseEmitterStoreController修改异步发送消息service跑起来之后,结果报错DefaultSerializer requires a Serializable payload but receiv
2024-08-23 17:08:31
1009
4
原创 docker映射了端口,宿主机不生效
如果您是在企业级 Linux 发行版(如 RHEL/CentOS)上遇到此问题,您可能需要确保 SELinux 或其他安全策略不会阻止 IPv4 转发。您可以通过禁用 SELinux 或调整 SELinux 策略来解决此问题。这容器跑起来了,端口6379没用。搞的我一直怀疑哪里出错了,查看配置文件啊,命令啊。docker run 命令后,发现控制台有一个警告输出。: 您需要在内核中启用 IPv4 转发。改配置,并使其生效。
2024-08-23 15:10:29
1480
原创 Mysql删除几亿条数据表中的部分数据
选择哪种方法取决于您的具体需求和资源。如果数据量非常大,建议先在一个较小的数据集上测试所选方法的性能,然后再应用到整个表。此外,在执行此类操作时,最好在业务低峰期进行,以减少对应用程序的影响。看来也没有更好的办法,还是这些老办法。
2024-08-17 14:20:47
1455
原创 quartz实现动态定时任务管理
queryDatabaseForNewSecond==1 可以用来与库中对比,周期配置如有变更,那么需要更新。一开始打算在job中直接更新,更新也是需要停掉,再newScheduleBuilder、newTrigger,再启。毫无疑问,quartz更专业,功能更强大。支持事务,支持任务持久化。配置中,固定周期,单位秒。需要任务每间隔这个秒数 执行进行统计。用spring的schedule每一分钟同步一次。要实现这个需求,之前一直在用的多线程方案也行。本次就用quartz来实现动态任务。
2024-08-02 15:38:46
542
原创 cron表达式获取上次执行时间和下次执行时间
业务逻辑中,当前时间于下次执行时间小于等于一分钟,创建任务。并且需要根据cron表达式知道上一次执行时间。二个时间是作为业务逻辑判断的条件。这边的now需要传入,因为需要忽略程序执行的毫秒级,所以需要每次对同一个时间进行操作。扩展循环次数来确保覆盖足够的周期。与前端协商,存储就用cron表达式。我给予修正了,符合自己的项目需求。,但是此文中提供的代码存在问题。2.3&2.4方法参考。月周日,都在符合预期。
2024-08-01 09:50:33
1089
原创 Java hutool List集合对象拷贝
三个对象,一个对象Point,一个对象CustomData。第三个对象IotDataCache用来屏蔽二者差异。问了AI 很多东西牛头不对马尾的,方法名对不上,参数有问题啊什么的。把Point的pointId 和 CustomData的id 都拷贝到IotDataCache中。有点基础的我相信都能看得懂。iotCode字段不变。
2024-07-26 14:42:40
2695
原创 SpringBoot整合SSE,实现后端主动推送DEMO
说起服务端主动推送,大家第一个想到的一定是WEBSOCKET。作为软件工程师,不能无脑使用一种技术,要结合实际情况,择优选取。SSE(Server-Sent Events)相比于WEBSOCKET1、轻量化、兼容性 基于传统的HTTP协议,所以浏览器兼容性比较好2、 只支持单向通讯。(服务器->客户端)
2024-07-17 14:39:25
1863
原创 Spring Security Oauth2密码模式 登录密码RSA加密
思路很清晰,原先用BcryptPasswordEncoder,那么继续用这个,只不过在这之前加上RSA解密。用了java.security自带的生成器。方法中,也有passwordEncoder。需要在解密进行异常捕获,密文不合规之类的。在 oauth认证服务器配置。附加解密后端util。
2024-07-17 09:25:09
701
原创 RocketMQ复杂过滤尝试
2、那么发送到同一个topic下,让各个业务系统来取,那么必定需要去过滤,不然拿到不属于本业务系统的点位信息了,仅仅靠tag明显是不够的,服务端过滤可以采用SQL92方式。点位编辑 需要新增勾选业务系统标识 tag - add ,移除勾选 tag - delete ,不变 tag - update。3、那么我随之就想到也可以在各个业务系统中过滤了,不是本业务系统的标识,直接返回。例:一个点位信息Bean,这个点位信息,设备、能源、安全都有用,那么点位信息表中有适用模块标识。模拟消费者一:业务系统标识为1。
2024-07-04 15:04:27
614
原创 用ConcurrentHashMap+锁 优化synchronized方法
虽说,synchronized 关键字万能的,在并发上去之后,这个插入就显得很慢了。仔细观察发现,其实锁的粒度还是再细点,可以根据AlarmRules对象的ID来锁。很明显synchronized(rules) 这个写法是有问题的。是基于对象的引用作为锁,只有在rules实例相同的情况下。我们实际情况实例不同,id相同的情况。ConcurrentHashMap(线程安全map) + ReentrantLock(可重入的锁)id不同的完美并发执行。
2024-06-06 10:26:24
423
原创 No appenders could be found for logger (io.netty.util.internal.InternalThreadLocalMap).
springboot启动警告。
2024-04-22 15:38:36
478
1
原创 RocketMQ同步消息发送失败重试DEMO
可以看到RemotingException、MQClientException、MQBrokerException时,Producer会自动重投消息,同步消息的重试选择其它Broker。实际情况可以根据业务需求改动,比如一定要发送成功的,后期每次重试休眠的时间随着重试次数增加。或者可以根据key 来记录,每个key 只能重试几次。重试是通过MQ内部去实现。如果超过了设定重试次数,就会抛出异常。通过设置可以设置同步消息重试次数。
2024-04-20 14:41:46
400
原创 RocketMQ异步消息发送失败重试DEMO
其重试是通过MQClientAPIImpl的onExceptionImpl方法来实现,它会先判断重试次数,然后重新调用sendMessageAsync方法进行重试,调用过程中出现异常会根据异常类型再次执行onExceptionImpl方法。异步重试也是不会选择其他Broker的,该策略无法保证消息不丢失。异步又是效率优先,所以很多大拿都是。都知道通过设置,尝试是在MQClientAPIImpl 中完成。但是有些犟牛或者有些需求就要,再试试一定要成功,自定义。// 指定异步发送失败后不进行重试发送。
2024-04-20 09:54:02
709
原创 RocketMQ新消费者跳过历史消息失效
最后还是会保留topic下每个队列的最后一条。做了一些挣扎,无法取消队列最后一条。明明设置了CONSUME_FROM_LAST_OFFSET,还是会把历史消息查出来消费。最后把consumer_group8消费启用。消费者跑起来,组换成consumer_group8。console中手动新建消费组,把启用消费关掉。重置消费组offset。
2024-04-19 14:54:26
534
原创 RocketMQ顺序消息消费重试DEMO
id为1和9同queue,所以1报错,id9一定不会消费,那么返回SUSPEND_CURRENT_QUEUE_A_MOMENT 表示等一会,再继续处理这批消息。如果业务需求对于顺序消费 - 强要求,那么推荐在监听器中根据map中一定要根据重试次数采取一定措施,通知到人。如果顺序要求不高,或者不想这么麻烦,可以设置重试次数,使队列可以正常下去,做好记录及抛掉此消息后对后续消息影响的判断。根据试验,确实如此,重试默认时间间隔可以看出是1S。可以看到这条有问题的消息直接抛掉,消费ID9的了。
2024-04-18 14:34:27
1017
原创 org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
开9876 ,console有的话也开,10911也开。单机版 broker.conf 中默认监听10911。broker.conf中。不要localhost。
2024-04-15 17:19:05
346
原创 MybatisPlus多条件 or()的使用
1、bitCode or iotStr 跟其他ID一个都不能有重复。2、模糊查询codeOrName变量匹配二个字段。搞混了一次,特此笔记。
2024-03-29 14:46:24
9025
原创 ResourceDatabasePopulator 初始化函数及存储过程
因ResourceDatabasePopulator 的默认语句分隔符就是英文分号。函数及存储过程中,必须用到。改动默认分隔符为二个英文分号。并把ddl中默认语句结束符一个分号改成2个。data 是ddl,func是函数。
2024-03-14 15:03:41
393
原创 Can not find ‘Converter‘ support class List.
用easyexcel做导出的时候,会碰到这个问题,那是因为你导出的bean里面包含list对象。list对象需要自定义转换器。找来找去我记得我这边不需要导出list,但是easyexcel会。那么此时需要一个注解。
2024-02-01 13:42:50
605
原创 Mysql父子禁止出现循环依赖函数
父子关系,迭代遍历,禁止出现子又依赖父,循环依赖的情况。出现循环依赖 返回 REPEAT。正常,返回子id集合。
2024-01-29 15:55:25
175
原创 ScriptEngine字符串表达式处理包含条件
不能用contain,会报错,没有这个函数。如果是不含包那么就是等于-1。如果是包含关系那么就是不等于-1。
2023-12-18 10:57:03
282
原创 Mysql某年根据月份分组统计,没有的为0
上面一条sql是把年份的12条记录查出来,如果是今年,比如说目前11月份,那么limit 11 即可。这个可能程序做个限制。temp表,这里只要记录总数大于12的什么表都行。下面一条是具体业务逻辑。
2023-11-13 14:41:42
768
原创 Failed to write core dump. Minidumps are not enabled by default on client version of windows
换成JDK8_212。已经跑了一天了,正常运行。客户的机器windows 10 专业版本。程序上去跑几个小时,字段断掉报错。
2023-09-19 08:47:18
481
原创 Java实现数据库一条记录一个线程一直跑,实现CUD
深受阿里手册影响,一开始打算用ThreadPoolExecutor线程池来管理一批线程。但是ThreadFactory线程线程命名没法自定义,只能前缀+自增方式。新增实现一:定时任务,根据线程名称来判断,名称有前缀+记录ID。如果线程活动,那么不新建,否则新建线程。需要满足,记录新增后自动启动新线程,编辑后,记录的线程判断条件更新。结合项目情况,不存在频繁创建于销毁。数据库中一条记录对应一个线程,线程会一直在跑。实现三:如果新增CRUD是自己平台所写。后期新建线程的时候,也可指定线程分组。
2023-09-12 11:21:23
242
原创 docker-maven-plugin直接把镜像推到私有仓库
接着上篇我们已经把服务做成镜像推到docker,也可以通过docker login 私有地址,去push。麻烦直接上代码。
2023-08-24 16:03:55
1780
1
原创 用Idea把SpringBoot项目打包镜像上传至docker
imageName后面如果没有冒号版本号,那么会默认latest,如果想要生成多个版本号,可以用imageTags里面加即可。新增 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock。后续只要maven 的clean之后,再package就可以把镜像上传至docker服务器。命令查看docker装在哪里。
2023-08-24 14:07:26
1412
原创 服务间调用Bean属性名称转化
JsonProperty("routeList") 指的是序列化传给前端,前端看到属性名。@JsonProperty("productName") 指服务传过来反序列化和序列化的名字对应的都叫productName。@JsonSetter("list") 指的是微服务调用方法返回是list,list这个集合名字转到route。
2023-07-28 13:55:32
247
原创 RealPath failed (0x00000002): The system cannot find the file specified.
最终发现,/usr下其他目录有个二个程序,拥有超级大的日志。直接把这个目录的磁盘占满了。意思是没法创建缓存目录。结果整个/usr 下建立都这个问题。跑着程序,突然验证码出不来了。用的是hutool生成。环境:ubuntu20.04。
2023-06-15 09:35:18
352
原创 调整IoTDB堆内存
half_ 小于 quarter_ 所以 max_heap_size_in_mb = quarter_。最关键的是 MAX_DIRECT_MEMORY_SIZE ,他等于MAX_HEAP_SIZE变量。quarter_ 小于65536。假设物理内存为8G,那么half_ 为4096 quarter_为2048。system_memory_in_mb 很明显就是系统内存,单位是M。再往上翻又等于 max_heap_size_in_mb M大小。quarter_ 四分之一内存, half_ 一半内存。
2023-06-12 14:31:37
1124
1
SecureCRT + SecureFX 9.1 Bundle * scrt-sfx-x64.9.1.1.2638.exe
2022-04-01
Nocos启动异常.zip
2021-12-08
IoTDB_jdbc方式所需jar.zip
2020-12-14
Springboot+SpringSecurity+SpringSession+Redis+Mybatis-Plus+Swwager.zip
2020-11-17
Chrome浏览器播放rtsp_支持H.265,所需资源
2020-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人