- 博客(79)
- 资源 (2)
- 收藏
- 关注
原创 SpringBoot集成Flowable
1、概念通过计算机对业务流程的自动化管理。工作流是建立在业务流程的基础上,一个软件的系统核心根本上还是系统的业务流程,工作流只是协助进行业务流程管理。解决的是:在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标2、工作流系统概念:具有工作流功能的系统比如,OA、ERP系统,可能涉及工作流,都可以叫工作流系统3、具体应用关键业务流程:订单、报价处理、合同审核、客户电话处理、供应链管理等。
2024-11-30 18:24:28
2466
原创 Dubbo+ZooKeeper+SpringBoot
RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。为什么要用RPC呢?
2024-11-25 19:04:44
2374
原创 初学shell脚本
shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可是交互也可以是非交互式的,我们所输入的命令计算机是不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制程序,同时又把计算机生成的结果返回给我们。我们可以在脚本中输入一系统的命令以及相关的语法语句组合,比如变量,流程控制语句等,把他们有机结合起来就形成了一个功能强大的shell 脚本。shell脚本的符号说明。
2024-11-18 20:53:54
237
原创 解决跨域问题
跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。跨域只出现在前端,后端不会出现。
2024-11-17 00:22:22
517
原创 如何保证Redis与MySQL双写一致性
这时候缓存中保存的就是线程A的数据,而数据库中保存的是线程B的数据。在数据库发生写操作时,将变更记录在binlog或类似的事务日志中,然后使用一个专门的异步服务或者监听器订阅binlog的变化(比如Canal),一旦检测到有数据更新,便根据binlog中的操作信息定位到受影响的缓存项,删除或更新缓存中的对应数据,确保缓存与数据库保持一致。可见,最后缓存中的数据A和数据库中的数据A是一致的,理论上可能会出现一小段时间数据不一致,不过这种概率也比较低,大部分的业务也不会有太大的问题。
2024-11-11 18:50:01
888
原创 RocketMQ 如何保证消息不丢失
2、如果配置的是多节点,一般是主从模式,为了防止主节点有数据,从节点没刷到数据的情况,就需要开启从节点刷盘后再返回ACK回执给生产者,需要修改从节点broker配置文件。broker的存储机制是将消息先存储到内存,存储完成后再发送回执给生产者,然后再异步将数据刷到磁盘,但如果在这个刷盘这个过程中broker宕机了,也会导致消息丢失。SYNC_MASTER:消息发送到master节点后,同步更新到从节点,当从节点更新完再返回成功的ACK回执给生产者,表示消息发送成功,可靠性高,但性能会有所下降。
2024-11-09 20:55:54
361
原创 Spring Boot 集成 RocketMQ
RocketMQ 是一款由阿里巴巴开源的分布式消息中间件,最初用于支持阿里巴巴的海量业务。它基于发布-订阅模型,具备高吞吐、低延迟、高可用和强一致性的特点,适用于消息队列、大规模数据流处理等场景。以下是对 RocketMQ 的原理和核心概念的详细介绍,帮助你快速认识和熟悉 RocketMQ。到官网 下载最新版本的 RocketMQ 二进制包(Binary 下载)。将下载的 ZIP 文件解压到您选择的目录,例如 D:\software\rocketmq-all-5.1.4-bin-release。
2024-10-14 18:51:43
4434
2
原创 java5、java6、java7、java8、java9新特性
1. 介绍JAVA作为使用的主力语言,掌握下其历史发展也是有必要的。看看从JAVA5开始到现在的JAVA9有哪些变化。借此机会,也可以看看哪些特性我们是已经用到的,哪些是还没有用到的。我们在IDEA里面也可以看到language level里面的信息,这里也大致写了下各个版本JDK的新特性。简单概括下就是:JAVA1.3:普通的原始的JAVA,基本语法相信大家都见过了 JAVA1.4:assert关键字 JAVA5:枚举类型、泛型、自动拆装箱 JAVA6: @Overrid
2024-10-14 17:50:25
1462
原创 常用的一些docker-compose命令
docker-compose -f docker-compose-env.yml stop/start/restart <服务名>docker-compose -f docker-compose-env.yml logs -f <服务名>
2024-10-09 12:10:44
251
1
原创 Nginx异常关闭之中了挖矿病毒kswapd0
困扰了接近一个月,偶然查询全部定时任务时发现: 5 8 * * 0 /root/.configrc5/b/sync>/dev/null 2>&1,很陌生的一个定时任务,确定自己及其他人没有加过,查询了一下资料是“挖矿病毒kswapd0”相关任务,赶紧查了一下服务器其它信息,确实中招了。3、加入每天自动重启Nginx任务脚本;隔几天还是出现异常关闭。用 rm -rf 命令逐条删除,rm -rf /root/.configrc5/*,或者rm -rf /root/.configrc5/a/kswapd0。
2024-08-12 16:31:57
377
原创 Kaptcha验证码配置
kaptcha.background.clear.from 验证码背景颜色渐进 默认为Color.LIGHT_GRAY。kaptcha.textproducer.font.color 验证码文本字符颜色 默认为Color.BLACK。kaptcha.background.clear.to 验证码背景颜色渐进 默认为Color.WHITE。kaptcha.textproducer.font.size 验证码文本字符大小 默认为40。
2024-06-22 18:31:28
549
原创 Nginx超时时间
proxy_cache_valid指定在没有新的响应时,缓存文件可以保持有效的时间。proxy_connect_timeout指定与代理服务器的连接超时时间,包括TCP连接的建立和SOCKET连接的时间。fastcgi_connect_timeout指定与FastCGI应用程序的连接超时时间,与proxy_connect_timeout具有相同的语法和功能。fastcgi_send_timeout指定向FastCGI服务器发送请求的超时时间,与proxy_send_timeout具有相同的语法和功能。
2024-05-28 14:03:55
2903
原创 @TableField
1、 主要用来解决实体类的字段名与数据库中的字段名不匹配的问题(数据库user_addr,字段useraddr未驼峰)当数据库名与实体类名不一致或不符合驼峰命名时,需要在此注解指定表名(不加这个注解默认将实体类的小写形式在db中寻找)@TableField 字段注解,该注解用于标识非主键的字段。将数据库列与 JavaBean 中的属性进行映射。// 用来解决数据库中的字段和实体类的字段不匹配问题。// 用来解决实体类中有的属性但是数据表中没有的字段。2、 实体类中的属性字段在表中不存在的问题。
2023-07-27 13:23:40
1571
原创 不同省份天地图服务汇总
矢量注记:https://www.mapgx.com/ime-server/rest/tdtgx_vecanno/wmts?影像注记:https://www.mapgx.com/ime-server/rest/tdtgx_imganno/wmts?矢量地图:https://www.mapgx.com/ime-server/rest/tdtgx_vec/wmts?影像底图:https://www.mapgx.com/ime-server/rest/tdtgx_img/wmts?全国天地图需要加上秘钥:?
2023-06-14 19:06:11
1006
原创 android不用USB线进行adb调试
6、在命令行输入 adb connect ,此后就可以使用adb 来进行调试了。4、在dos窗口输入命令adb tcpip 5555(5555 是端口号,可以自由指定)5、断开usb数据线(此时也可以连接你需要连接的usb设备)本方法通过TCPIP网络进行,也就是通过ADB来连接设备。1、首先确定你的电脑和手机连接的wife处于同一个局域网。2、使用usb数据线连接设备。3、查看手机的IP地址。
2023-05-14 17:36:50
1455
原创 Android onCreate()、onStart()、onResume()、onDestory()、onStop()、onPause()什么时候执行
否则就传入一个空引用。一个Activity启动另一个Activity: onPause()->onStop(),再返回:onRestart()->onStart()->onResume()程序按back 退出: onPause()->onStop()->onDestory(),再进入:onCreate()->onStart()->onResume();程序按home 退出: onPause()->onStop(),再进入:onRestart()->onStart()->onResume();
2023-05-13 18:28:31
4472
原创 html页面清除缓存
HTTP头信息“Expires”和“Cache-Control”为应用程序服务器提供了一个控制浏览器和代理服务器上缓存的机制。HTTP头信息Expires告诉代理服务器它的缓存页面何时将过期。HTTP1.1规范中新定义的头信息Cache-Control可以通知浏览器不缓存任何页面。2) no-store: 在任何环境下缓存不保存任何页面。1) no-cache:强制缓存从服务器上获取新的页面。2、在需要打开的url后面增加一个随机的参数。等同于HTTP1.1规范中的。,同样可以包含在头信息中。
2023-04-11 18:24:48
779
原创 Java 使用wps将word文件转换pdf文件
public class WordFileToPdf { private static final int wdFormatPDF = 17; private static final int xlTypePDF = 0; private static final int ppSaveAsPDF = 32; private static final String PATH = "D:"; /*** * 判断需要转化文件的类型(Excel、Word、ppt.
2022-03-28 10:15:16
4815
2
原创 docker查看日志的方式
docker查看日志的几个方式:(1)docker logs --tail=1000 容器名称 (查看容器前多少行的日志)(推荐)(2)docker 容器启动后,可以进入以下位置查看日志(/var/lib/docker/containers/容器ID/容器ID-json.log)(进入容器内部查看日志)(3)#查看compose所有容器的运行日志docker-compose -f docker-compose-app.yml logs -f(4)#查看compose下某个...
2022-03-21 17:32:17
42617
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人