- 博客(108)
- 资源 (2)
- 问答 (3)
- 收藏
- 关注
原创 spring integration使用:消息转换器
Translator是一种模式,它是一种转换消息格式的机制,用于将一种消息格式转换为另一种消息格式。通常,这种转换是由不同的系统之间进行通信时使用的,例如,将一个系统的消息格式转换为另一个系统的消息格式。Translator模式的作用是让不同的系统之间能够相互通信,即使它们使用不同的消息格式。通过使用Translator模式,可以消除不同系统之间消息格式不兼容的问题,从而提高系统之间的互操作性和可扩展性。在实现Translator模式时,通常会使用消息转换器(Message Converter)来实
2023-02-26 22:20:35
1246
1
原创 spring integration使用:消息路由
企业集成没有简单的答案。在我们看来,任何声称集成很容易的人都必须非常聪明(或者至少比我们其他人聪明一点),非常无知(好吧,让我们说乐观),或者他们有经济利益让你相信集成很容易。尽管整合是一个广泛而困难的话题,但我们总能观察到一些人比其他人更擅长它。这些人知道什么而其他人不知道?由于没有“在21天内教自己整合”这样的东西(这本书肯定不是!),这些人不太可能知道整合的所有答案。然而,这些人通常已经解决了足够的集成问题,他们可以将新问题与他们之前解决的问题进行比较。他们知道问题的“模式”和相关的解决方案。随着
2023-01-29 23:15:11
248
原创 spring integration开篇:说明
企业集成是使单独的应用程序协同工作以产生一组统一功能的任务。一些应用程序可能是内部定制的,而另一些则从第三方供应商处购买。应用程序可能在多台计算机上运行,这些计算机可能代表多个平台,并且可能在地理位置上分散。某些应用程序可能由业务合作伙伴或客户在企业外部运行。某些应用程序可能需要集成,即使它们不是为集成而设计的,并且无法更改。这些问题和其他类似问题使应用程序集成变得困难。本章将探讨可用于应用程序集成的选项。
2023-01-29 23:11:59
459
原创 mysql pgsql json数组指定条件遍历查询 通过select指定条件在json数组中做遍历查询匹配,不另外写函数
mysql pgsql json数组指定条件遍历查询 通过select指定条件在json数组中做遍历查询匹配,不另外写函数。
2022-11-27 17:11:30
952
原创 数据库技术盘点
数据库技术是研究数据库的结构、存储、设计、管理和应用的一门软件学科。数据库系统本质上是一个用计算机存储信息的系统。数据库管理系统是位于用户与操作系统之间的一层数据管理软件,其基本目标是提供一个可以方便、有效地存取数据库信息的环境。数据库就是信息的集合,它是收集计算机数据的仓库或容器,系统用户可以对这些数据执行一系列操作。设计数据库系统的目的是为了管理大量信息,给用户提供数据的抽象视图,即系统隐藏有关数据存储和维护的某些细节。对数据的管理涉及信息存储结构的定义、信息操作机制的提供、安全性保证,以及多用户对
2022-10-24 23:15:56
191
原创 使用数据库维护数据来源,动态切换数据源的工具:dynamic-datasource
dynamic-source是基于dynamic-datasource-spring-boot-starter 的一种工具,该工具是为了解决数据源动态切换而创建的。**可采用数据库和配置文件维护数据源****自动加载、移除数据源(数据来源为数据库方式)****可以使用接口参数自动切换数据源****同一数据源下切换schema(对于postgresql用的多)****多层数据源嵌套切换使用方案****自定义数据源切换逻辑**
2022-09-14 22:15:00
2468
1
原创 WebAssembly第四章 C\C++调用JavaScript和HTTP请求文件读写操作示例 关键字:wasm emcc js c++ c
本篇是WebAssembly系列文章的第四章,我会在本文介绍在几个常用场景下C++源文件内运用js代码段、调用JavaScript函数所需要用到的操作步骤,编译命令,和一些具体操作(比如:http请求fetch,文件读写)的示例代码。...
2022-07-17 17:52:49
751
3
原创 WebAssembly第三章 JavaScript调用C\C++ 关键字:wasm emcc js c++ c
本篇是WebAssembly系列文章的第三章,我会在本文介绍在几个常用场景下JavaScript调用C++函数所需要用到的操作步骤,编译命令,和具体的代码。
2022-07-10 22:56:46
645
原创 java11 使用ParameterizedTypeImpl 程序包sun.reflect.generics.reflectiveObjects不存在 maven编译失败
package sun.reflect.generics.reflectiveObjects is declared in module java.base, which does not export it to the unnamed module
2022-07-05 23:17:07
1235
原创 设置ssh登录Linux服务器和git上ssh的使用
我们在远程Linux服务器或者使用git的时候都需要输入密码登录后进行操作,在进行频繁操作的时候每次都要输入密码多少有点儿不方便,那么我们可以使用ssh的方便进行身份验证登录,省去输入密码这个步骤,因为不用频繁输入密码同时还避免了密码泄露的风险,一举两得。以上就是今天要讲的内容,本文仅仅简单介绍了ssh-key的使用,而ssh也能用到git账户验证上,操作方法上不同就是远程服务器是手动把公钥放到指定目录,git配置是到git控制台页面将公钥与账号绑定,然后就能一样的使用了。...
2022-06-19 22:46:02
671
原创 mysql pgsql 多行记录转JSON数组字段 行转json列
mysql pgsql 按照指定字段分组实现多行合并成一行数据库服务器环境原表结构和数据studentsscorespgsqlSQL结果mysqlSQL结果相关文章导读数据库服务器环境数据库版本mysql5.7.34PostgreSQL10.10原表结构和数据studentsidnamegenderage1张三男332李四男253小谢女254小周女26scoresidscores
2022-04-20 00:42:19
3018
2
原创 java 处理 ISO 8601(RFC 3339)时间格式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档java 处理 ISO 8601(RFC 3339)时间格式前言一、RFC 3339和ISO 8601是什么?二、使用反序列化序列化JSR310秒级单位Java中的日期\时间类DateCalendarLocalDateTimeTimestampjava8 日期\时间工具类相关文章导读:java 时区 mysql 时区:时区在程序和数据库中的作用及其机制前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机.
2022-03-30 21:17:51
2715
原创 从ELK认识docker-compose
系列文章目录CentOS Docker 安装并用阿里云加速docker安装Elasticsearch以及分词器部署Elasticsearch下篇:安装KibanaElastic Stack之日志收集从ELK认识docker-compose系列文章目录前言docker compose 的使用场景什么场景不适合使用docker compose一、docker compose是什么?二、使用步骤compose和docker版本对照表我的环境1.下载docker-compose设置docker-comp
2022-01-27 17:15:06
2919
原创 word文档生成系列:doc和docx插入多图
doc和docx格式的word文档的图片标签结构是不一样的,不要试图去找它们的共同点,那是浪费时间,我们需要用完全不同的方式去处理这两代的图片标签。
2021-12-20 18:08:18
1530
原创 根据模板导出word,复合格式表格生成、可变列表格生成
系列文章目录第一章:springboot下生成复杂word文档方案 在Word软件里面制作模板根据模板导出word,复合格式表格生成、可变列表格生成系列文章目录前言复合格式表格一、拆解word xml文档标签表格遍历逻辑数据结构定义二、结果一行数据二行数据多行数据变长列格式表格拆解逻辑数据结构定义总结前言这次我们来实现复合格式表格和可变列表格,效果如下以下是本篇文章正文内容,下面案例可供参考复合格式表格一、拆解word xml文档标签按照要求我们可以将表格按行为单位拆分为四种格式
2021-11-27 22:41:39
630
原创 springboot下生成复杂word文档方案 在Word软件里面制作模板
在复杂word文档场景下,使用模板引擎是比POI、easypoi更优的解决方案
2021-10-10 17:28:51
1685
原创 gradle发布代码到maven中央仓库
gradle发布代码到maven中央仓库环境githubSonatype JIRA注册sonatype账号创建一个新的项目票据创建密钥下载密钥工具新建密钥设置密钥设置密钥的密码并生成吊销证书妥善保存导出私钥和公钥将密钥上传到公共密钥服务器项目配置创建全局变量配置编译脚本管理和发版发布到releaseclose仓库release项目中验证结果想把自己写的一些代码发布到maven中央仓库,避免来回拷贝代码的步骤,百度了几篇文章照着做发现描述的不完整,要不就是在gradle用maven的方式搞提交的,但是一些
2021-08-08 17:24:31
905
原创 mysql pgsql 实现多行记录合并成一行 分组合并 用指定字符做分割
mysql pgsql 按照指定字段分组实现多行合并成一行数据库服务器环境原表结构和数据mysqlSQL结果去重去重之后的查询结果pgsqlSQL结果去重去重之后的结果相关文章导读数据库服务器环境数据库版本mysql5.7PostgreSQL10.10原表结构和数据idnamegendermajor1张三男篮球2张三男足球3李四女游泳4小周女跑步5王二男健身6小周女网球7
2021-08-05 13:44:08
3691
2
原创 Elastic Stack之应用系统日志结构化
实时解析和转换数据数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便进行更强大的分析和实现商业价值。Logstash 能够动态地转换和解析数据,不受格式或复杂度的影响:利用 Grok 从非结构化数据中派生出结构从 IP 地址破译出地理坐标将 PII 数据匿名化,完全排除敏感字段简化整体处理,不受数据源、格式或架构的影响使用我们丰富的过滤器库和功能多样的 Elastic Common Schema,您可以实
2021-07-20 19:06:42
147
1
原创 CentOS系统下Java程序使用Font字体 com.anji.captcha.service.impl.AbstractCaptchaService.loadWaterMarkFont(A
ERROR 32033 --- [ main] c.a.c.s.i.ClickWordCaptchaServiceImpl : load font error:{}java.io.IOException: Problem reading font data. at java.desktop/java.awt.Font.createFont0(Font.java:1183) at java.desktop/java.awt.Font.createF
2021-06-19 11:39:58
1224
原创 Janus系列文章三 API使用指南 VideoRoom创建新的视频房
Janus系列文章三 API使用指南 VideoRoom APIJanus API 通讯协议分类Janus API 的会话和事务机制事务会话Janus API 使用流程使用videoroom插件创建一个新的视频房示例建立用户会话附加到插件创建一个新的视频房相关文章这是一个为 Janus 实现视频会议 SFU(选择性转发单元)的插件,即音频/视频路由器。这意味着该插件实现了一个虚拟会议室,同行可以随时加入和离开。这个房间基于发布/订阅模式。每个对等点都可以发布他/她自己的实时音频/视频提要:此提要成为其他
2021-06-05 20:34:26
1240
1
原创 centos部署janus 系列文章二 janus配置和管理
centos部署janus -janus配置和管理 前言一、配置1.环境和资料准备2.Tengine 反向代理Janus服务器2.1.Tengine 下载安装2.1.2 Tengine 配置2.1.3 验证Tengine配置3.部署demo4.配置Janus4.1.给Janus配置ICE(turn、stun)4.2.启用管理端点4.启动Janus验证配置5.验证总结相关文章前言这是CentOS部署Janus服务器的第二篇,我们来配置Janus让其可正常运行官方提供的demo。提示:以下是本篇文章正
2021-05-01 09:48:47
1406
5
原创 centos部署janus -(CentOS 7.6安装janus v0.10.10)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Janus CentOS7.6 部署前言一、Janus是什么?二、安装步骤1.安装依赖包2.安装gcc版本73.安装python34.安装SSL支持5.安装libmicrohttpd服务器6.安装janus-gateway1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇
2021-04-15 17:28:20
1593
4
原创 Google Guava Retry 优雅的重试方案
Google Guava Retry 优雅的重试方案前言使用场景什么场景不适合重试了解幂等性一、Guava Retry是什么?与Spring retry比较二、使用步骤1.引入库2.码代码总结导读前言使用场景当需要两个或者多个组件协同工作而又无法保证调用返回的顺序时,我们可能会得到一个意料之外结果,可是下一时刻重新调用方法这个结果可能就正确了。当在这个场景下我们希望第一次得到意外结果时再调用一次方法以得到期望的结果。我们调用外部接口时候获取数据的时候,因为一些外在因素可能会出现网络抖动,连接超时
2021-03-07 16:28:57
2080
1
原创 多图预览上传 前后端 java jquery tomcat
多图预览上传 前后端效果预览新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入效果预览新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮
2021-02-04 11:47:03
117
原创 mysql 在select查询语句中使用临时变量累计求和 ; 相同列值的记录中再根据条件取其中最大或最新一条;mysql经纬度求距离并排序
mysql 使用临时变量累计求和 求同存异使用临时变量累计求和相同的ID,取最大或者最小的那个使用临时变量累计求和select name , score , ( @sum := @sum+score ) as curScorefrom student , (@sum :=0)相同的ID,取最大或者最小的那个select *from material_native basicwhere not exists(select *from material_nativewheremateria
2021-01-20 13:03:01
1183
原创 SpringBoot优雅停服 java web tomcat web项目关闭过程概览
SpringBoot web项目优雅停服码代码测试结果结论下面是各个命令下的关闭过程kill -9kill -2kill -15actuator/shutdownSpringBoot shutdown: graceful 优雅停服tomcat/bin/shutdown.sh我对优雅停服的要求是:客户端已经进入的接口访问正常结束和返回且不再接收新的http请求服务端正确有序的释放资源和更新节点服务状态下面的内容都以以上两个条件为目标去讨论具体的方案我们的环境和使用的中间件MySqlMon
2021-01-17 15:11:18
1326
原创 java 时区 mysql 时区:时区在程序和数据库中的作用及其机制
时区在程序和数据库中的作用及其机制时区(Time Zone)GMT(格林尼治标准时间/世界时)UTC(协调世界时)GMT与UTC关于北京时间CST(时区缩写)DST(夏时制)unix时间戳(Unix timestamp)时间戳与北京时间时区与时间戳单位计算公式(!!!)时区机制导致的程序中的问题java与时区设置java程序的Date日期序列化方法JVM时区参数tomcat与时区设置mysql与时区设置临时修改MySql时区MySql数据库时区连接参数Linux查看系统时区后端到前端的时间序列化因为时区导致
2020-12-12 16:56:08
1414
2
原创 MongoTemplate 并列条件查询和数组字段追加操作
MongoTemplate 并列条件查询和数组字段追加操作前言Demo环境一、MongoTemplate一个提醒二、使用步骤1.引入库2.连接MongoDB集群3.1.并列查询document的pojo同时 and + or 查询映射的查询语句3.2.数组字段的追加操作映射的语句总结前言这里我们使用MongoTemplate来完成并列的and、or 查询和对document里的数组字段的追加操作。Demo环境组件版本MongoDB4.2.10 (db.version())
2020-11-29 13:21:47
2950
原创 RabbitMQ外部程序发送消息无法入队而控制台发布消息可以入队问题解析 内存阈值和磁盘阈值
RabbitMQ外部程序发送消息无法入队而控制台发布消息可以入队问题解析问题描述故障表现解决方案docker环境下指定内存阈值禁用所有的发布禁用内存流控磁盘空间阈值问题描述在使用RabbitMQ过程中发现消息都不入队了,程序把消息发消息过去队列接不到,但是在控制台publish消息的话消费者程序又能接收到,这个情况一般即使Rabbit服务开启了流控。流控的表现就是该服务节点的已经内存警报或者磁盘剩余可用空间报警,将会阻止传入的网络流量,直到内存使用量低于报警线。因为RabbitMQ提供两种协
2020-10-23 00:01:24
907
1
原创 WebRTC 系列文章 文件共享
WebRTC 系列文章 文件共享环境准备实现思路FileReader具体操作步骤如下发送方接收方项目仓库这是WebRTC系列文章的第四篇。这次我们来对之前做的一对一视频通话和有文字聊天功能的项目添加文件共享功能。如果你对WebSocket、ICE、SDP、这些知识还不是很了解的话,推荐你先看下文章末尾的几篇推荐文章。在此特别感谢 前端李国庆的帮助环境准备桌面游览器Chrome 80.0.3987.163(正式版本) (64 位)手机游览器Chrome 80.0
2020-09-29 16:52:56
523
原创 Docker环境Jenkins自动部署Gradle构建的Docker项目
Jenkins自动部署docker项目系列文章导读准备工作配置Jenkins安装Jenkins Docker插件docker-java-api.hpidocker-plugin.hpidocker-build-step.hpiJenkins全局工具配置配置Jenkins任务的build步骤关闭、移除上次的容器构建新的image同时运行容器提交代码变更自动触发了Jenkins构建项目系列文章导读CentOS Docker 安装并用国内镜像加速(阿里云、网易)Idea下Gradle打包Spring
2020-08-23 14:10:07
1193
原创 Docker环境Jenkins连接gitee自动构建Gradle项目
Docker环境Jenkins连接gitee自动构建Gradle项目系列文章导读Gitee 相关配置生成私人令牌配置Jenkins安装Gitee插件安装Gradle插件配置Gitee连接配置Gradle配置Jenkins项目新的项目项目configureGeneralSource Code Management配置WebHookJenkinsGitee 仓库配置build配置自动运行脚本构建项目测试手动部署项目提交代码自动构建项目记得把Web项目的端口在docker run -p 映射出来系列文章
2020-08-22 21:26:59
741
TA创建的收藏夹 TA关注的收藏夹
TA关注的人