自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (11)
  • 问答 (2)
  • 收藏
  • 关注

原创 多个数据库驱动并存情况下无法找到数据库驱动问题解决

里面的提问者,提到了他的应用里面同时使用了PostgreSQL和Mysql,由于数据库驱动使用了SPI机制,而打包时驱动的META-INF/services/java.sql.Driver并覆盖了,导致只能加载一个META-INF/services/java.sql.Driver。但是代码在IDEA中运行是没有问题的,报错提示的是找不到H2数据库驱动,查找打好包的fat-jar,里面是包含H2的驱动的。然后就想到maven-shade-plugin是可以合并配置文件的。

2024-03-08 11:02:43 220

原创 记一次异步转同步的经历

但我们一般使用RabbitMq、Kafka都是用来监听一些预设的队列,这些队列用来处理固定的几种业务,通常会有多个生产者和多个消费者,消费者和生产者的数量一般都是固定的,消费的逻辑也大致相同,但该场景的情况是,消费者都是临时的、一次性的(线程维度,消费者获取到消息后,就会停止监听),比如线程A调用完异步接口,接着线程A就开始监听队列,接收到属于自己的消息后(以上便是使用Reids来实现的动态队列,它是跨进程的,同时由于Redis的PubSub队列实现并不存储数据,因此是一个比较轻量且优雅的实现方式。

2024-03-04 10:44:51 607

原创 Armbian切换Wifi

另外一个作用是用来搞打印服务器,因为家里角落比较多,因此有两个路由器信号,而打印机所在的位置的wifi信号,外网速度并不好,因此想到平时盒子做下载机,就把盒子放到角落A,需要打印就把盒子放到角落B,然而不管是在角落A还是在角落B,两个wifi信号都可以接受到,但是我发现Armbian似乎并不能主动切换到wifi信号更好的热点,因此写一个脚本来切换wifi。把脚本放到crontab中执行就可以了,可以使用crontab中可以使用@reboot关键字。

2023-12-18 21:28:38 565

原创 Calcite使用外部自定义函数

org.codehaus.janino.SimpleCompiler#parentClassLoader是获取到了我们的自定义类加载器,但是由于外部调用了org.codehaus.janino.SimpleCompiler#setParentClassLoader()改变了org.codehaus.janino.SimpleCompiler#parentClassLoader属性。上面的代码描述了Calcite调用Janino编译代码的过程,其中有一个非常重要步骤:就是设置编译器的父类加载器的。

2023-08-15 11:46:14 685

原创 maven获取所有依赖项

在项目开发过程中,我们经常会有分析项目依赖的需要,查找jar依赖路径,查找jar冲突等等。这时候,dependency命令会非常的有用,在此我们介绍下关于maven的dependency命令的一些用法。

2023-04-24 19:32:33 4189 1

原创 恢复知乎极速版收藏夹内容

最后打开电脑浏览器,登录知乎,开启新的标签页,在地址栏输入地址。

2023-03-27 21:44:32 838

原创 增量更新jar包的方法

由于现在绝大多数服务都采用spring boot,且在打包时一般选择全量包的形式,因此在服务依赖比较多的情况下,更新/添加其中的一个文件时,会造成很大的麻烦,比如一个服务打完包后,jar文件的体积可能在200M左右,因此在网络条件不好的情况下,频繁更新服务包还是比较麻烦的事情,因此适时进行增量更新,是比较好的方法,也是在应对网络条件不好时的最好选择。我们发现eureka-server.jar在eureka-server-new.jar中,因此eureka-server-new.jar包体积增长了不少。

2023-02-24 18:26:11 1687

原创 JavaFx TreeView TreeItem 设置额外属性

发现TreeItem中也存在T的泛型,而且可以通过TreeItem.getValue()方法得到T的实例对象,那现在一目了然了,我们在构建TreeItem的时候完全可以将我们的学生类封装进去,这样当我获取额外属性时,就可以通过getValue()方法获取了,不过另一个问题是,在这个节点上我显示的是什么,如果我封装的是对象的话,是不是显示的就是对象地址?那如果TreeItem封装的对象设置了toString()方法,是不是节点的显示内容就是toString()方法返回的内容呢?发现并没有设置额外属性的方法。

2022-12-23 15:52:14 1986

原创 controlsfx框架NotificationPane组件的使用

这次我们的根节点,同时添加了按钮组件和NotificationPane通知组件,而通知组件则显示在一个空的VBox组件上,同样也实现了通知效果,虽然在我编写的代码里根节点并没有管理那个空的VBox,但是由于NotificationPane通知组件设置在了VBox上,我们也可以看到,实际上根节点也是添加了这个VBox,为了更直观的看到效果,我们对代码稍作改动。由上面代码可以看出,notificationPane.setContent() 代码用来设置通知显示位置,并且显示的通知覆盖了定义的按钮组件。

2022-12-20 21:13:34 1353

原创 Adb找不到设备解决方法

一般是因为设备的安卓版本太高,导致adb识别不到,解决的办法也很简单,就是升级电脑上的adb版本,我有一台安卓8的设备,之前一直用adb连得很好,最近换了台安卓12的设备,adb却怎么也找不到设备了。同样的,如果你的fastboot devices 也获取不到设备,也需要更新fastboot的版本,同样也是上面的链接。需要注意的是,当更新了环境变量,原来打开的CMD命令行内窗口,需要关闭重新打开,才能获得正确的信息。需要注意的是安装的一些第三方软件,可能会同时给你的电脑安装不同版本的adb,因此。

2022-11-27 15:04:38 9706

原创 JavaFx自定义事件

由于这种方式我们使用了自定义事件,因此创建了自定义事件的类,当按钮点击时,创建自定义事件,然后发送事件,同时在Lable初始化后监听了该事件,此时我们发现Button与Lable实现了解耦。实现方式非常简单,就是当按钮发生点击时引用Label实例,然后设置Label的值,同时也可以看到一些缺陷: 就是Label的初始化必须在Button的前面。上面的文档已经做了简要说明,但是在实际应用中发现其并不够详细,搜索现有网上的自定义事件其内容大都并不十分清晰,因此写篇博客站在我的角度描述一下这个问题。

2022-11-14 21:19:37 1120

原创 fastboot进入9008

fastboot oem reboot-edl

2022-10-05 20:25:21 3928

原创 drools动态规则之Maven解析

drools动态规则之Maven解析

2022-09-29 11:29:45 1826

原创 关于mvnrepository.com可以找到依赖,但是无法下载的问题

maven解决无法下载依赖

2022-09-28 15:27:16 1024

原创 @JsonDeserialize集合解析实例

@JsonDeserialize 集合反序列化

2022-09-20 16:56:38 927

原创 Wildfly部署drools-workbench

wildfly部署drools-workbench

2022-07-28 20:24:19 1278 10

原创 Calcite多数据源连接

calcite简单入门 - 张恒的网络日志

2022-01-15 20:06:40 441

原创 Java操作PgSql的导入导出

添加maven依赖 <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.3.1</version> </dependency> <dependency> <groupId>org.mybatis.spring.boo

2021-12-12 10:45:15 2404

原创 H2生成ddl语句

在h2控制台或者h2-console上使用命令https://stackoverflow.com/questions/62103857/h2-ddl-create-tableSELECT SQL FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'T_NAME';

2021-07-26 11:37:17 548

原创 mysql的备份和恢复

mysql的备份一般 使用 mysqldump命令。#mysql导出insert带字段的sql脚本数据#mysqldump -u用户名 -p密码 -h数据库主机ip -P端口号 --skip-extended-insert --complete-insert 数据库名 表名 -t -c --where="条件">~/test.sql --skip-extended-insert 一行一行的导出 -t 不会产生create t

2021-07-18 09:56:52 99

原创 使用Javahost的一个问题

最近做HBase项目,需要配置hosts,此hosts其实对应了zookeeper的地址,在本地运行很方便,自己直接配置本地文件hosts就可以。但是项目要上线发布,其他团队成员要使用等等,我是否都要告诉他们怎么配置hosts问题,这样太麻烦,因此我试着寻求另一种解决方案。如果在不同的运行环境访问不同的数据源服务器,为了方便切换是否使用域名替代IP?如果使用域名的话,在开发环境就需要配置hosts文件。我希望可以不用修改hosts文件就可直接运行程序。通过我的努力,终于找到了javahost(JVM虚拟D

2021-07-14 20:10:35 993 1

原创 portainer连接swarm集群

https://www.msnao.com/2020/05/08/3322.html

2021-07-01 20:00:41 1974 1

原创 前端上传文件找不到参数

在一次上传文件的过程中,发现上传文件,在谷歌浏览器中竟然找不到 请求的参数,请求的header是可以看到的,然后在控制台看这个请求,也是xhr的请求,但是就是看不到请求的参数。即使是请求完成了,也看不到参数然后我上传了一个小文件,大概几十k,然后就发现了控制台显示了请求参数。谷歌浏览器版本 72.0.3626.7 (32位版本)...

2021-06-26 12:08:31 540

原创 maven 离线模式

在maven的离线模式下进行打包,会报各种错误,说是少依赖其实并不缺少,总是解决不完。建议打包时,跳过测试,能够避免一部分问题。mvn clean package -Dmaven.test.skip=true

2021-06-25 20:16:32 301

原创 Eureka的默认环境变量

在使用Eureka时,如果时客户端,一般在bootstrap.yml中设置eureka,如:eureka: client: service-url: defaultZone: http://localhost:8716/eureka/其中defaultZone设置的就是Eureka Server的地址,但是这样写在配置文件中,就写死了,通常可以通过环境变量来设置,这样比较灵活。eureka: client: service-url: defau

2021-06-25 17:08:14 608

原创 记一次使用数据库保存配置的ConfigServer历程

在使用springcloud时,一般会采用springcloud configserver来获取配置,配置一般是保存在git中。文件的形式,方便修改和查阅,其实也可以将配置保存在数据库中。

2021-06-19 14:53:32 321

原创 记一次 MySql查询条件为 default 时查不出来的错误

遇到一个mysql存储值的问题,电脑上用的SQLyog。表中一个name字段为varchar类型,我直接在name字段中输入“default”,然后点击保存。接着我使用sql。select

2021-06-19 12:43:21 293

原创 Spring RabbitMQ绑定的两种方式。

通常使用RabbitMq需要先在RabbitMq控制台上创建vhost,exchange,queue,然后创建进行routingkey绑定。当然这个操作也可以通过对应API来操作。

2021-06-09 16:35:28 1263 1

原创 System.getenv()和System.getProperty() 的区别

System.getenv() 获取的是环境变量System.getProperty() 获取的是java 启动脚本设置的参数 如 java -jar -Dsrping

2021-06-01 21:00:09 224

原创 logstash

https://segmentfault.com/a/1190000016591126

2021-06-01 15:57:57 64

原创 CentOS 下最简单的安装文件服务器

安装httpdyum install httpd -y启动httpd

2021-05-28 18:46:15 136

原创 python2.7.5安装pyinstaller

centos7默认安装的python版本是2.7.5 比较老的版本,最近在安装pyinstall时,发现一些问题。https://pypi.org/project/pyinstaller/3.0/在该网站可以查看pyinstaller安装对应的python版本,目前python2.7.5最高安装pyinstaller 3.0pip install pyinstaller==3.0...

2021-05-26 09:34:07 899

原创 使用pyqt5时右键菜单 QAction信号的问题

在使用pyqt5 写右键菜单是,Action的槽函数和信号连接出现了问题。# 创建右键菜单 def show_context_menu(self): self.context_menu = QMenu(self) self.add_action = QAction("新增") self.delete_action = QAction("删除") self.context_menu.addAction(self.add_action

2021-05-16 10:32:10 2006

原创 git clone 下载所有分支

通常情况下,我们使用命令 git clone 来下载代码。但是下载的代码一般都是默认分支(默认分支可以再gitlab/github里设置)。# 克隆代码,仅下载一个分支,gitlab/github上设置的默认分支,一般是master/main。也可以指定分支clonegit clone https://github.com/pcottle/learnGitBranching.git此时。# 显示本地分支(注意:是本地分支),分支前面有 * 号的表示处于当前分支git branch# 显

2021-05-13 15:08:07 16784 2

原创 为什么Springboot Main方法运行完成后不会自动关闭

文章开始前。先看一篇知乎文章。在熟悉了一些知识后,再看这篇文章。有了这两篇文章,估计就能明白,为什么对于Web容器(这里yi)来说,

2021-05-11 18:07:17 2899 2

原创 Java 接收OutLook 微软邮箱邮件

首先引入maven依赖 <dependency> <groupId>com.microsoft.ews-java-api</groupId> <artifactId>ews-java-api</artifactId> <version>2.0</version> </dependency>packag

2021-02-07 17:09:59 4254 10

原创 Maven打包自定义MANIFEST.MF键值对

编写java后,一般都是通过打包生成jar、war包提供使用,一般在打包后都会在jar包中生成MANIFEST.MF文件编写一个简单的java文件。package cn.kanyun;public class Hello { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Hello World"); }}然后使用命令进行打包:

2021-01-23 17:43:48 3645

原创 SpringBoot项目启动后直接退出Process finished with exit code 1

启动SpringBoot项目时,往往会出现一些错误。这种错误没有明确的指向信息,但可以肯定的是springboot启动失败了。如何找到具体失败的原因呢。SpringBoot的启动简单来说就包括两个部分1.SpringApplication 的实例化。即:SpringApplication application = new SpringApplication(QurtzJdbcApplication.class)2.执行run()方法。application.run(args)所

2020-12-21 16:00:49 1420 2

原创 Mysql 最左前缀原则实践

创建一张表,包含三个字段。三个字段都是varchar类型的。并且给三个字段做了组合索引接下来就是验证索引是否生效了1.查询全部记录EXPLAIN SELECT * FROM `handler`;结果为可以看到 type为ALL ,这便是所谓的“全表扫描”,如果是展示一个数据表中的全部数据项,倒是觉得也没什么,如果是在一个查找数据项的sql中出现了all类型,那通常意味着你的sql语句处于一种最原生的状态,有很大的优化空间。为什么这么说呢?因为all是一种非常暴力和原始的

2020-12-10 10:45:08 103

原创 Java 保留几位小数

java 中常见的保留几位小数的操作,通常都会用到BigDecimal 类例如: /** * 四舍五入 */ @Test public void test() { double num = 111231.5585; BigDecimal b = new BigDecimal(num); //保留2位小数 double result = b.setScale(2, BigDecimal.ROUND_

2020-11-23 15:18:18 1121

知乎App旧版本(安卓)

旧版本安卓APP,收藏文章时可以显示极速版收藏夹

2023-03-26

build-tree.rar

两种不同方式(深度优先/广度优先)构建树形结构代码,使用java编写

2021-01-11

查询数据库有哪些表哪些字段

工作中用到需要查询数据库存在哪些表,哪些字段,因此搜集部分关系型数据库的查询方法,总结放到压缩包中。添加依赖后可直接运行

2020-11-19

tree_demo.rar

将任意行数据,转为树状结构,同时计数,java示例代码,下载代码,导入其中的sql文件,更改db.setting文件,修改MainTest.java。即可直接运行,maven项目

2020-09-07

tree_demo.rar

将任意行数据,转为树状结构,同时计数,java示例代码,下载代码,导入其中的sql文件,更改db.setting文件,修改MainTest.java。即可直接运行,maven项目

2020-09-02

代码统计工具cloc,windows单文件版

一款使用Perl语言开发的开源代码统计工具,支持多平台使用、多语言识别,能够计算指定目标文件或文件夹中的文件数(files)、空白行数(blank)、注释行数(comment)和代码行数(code)

2020-04-17

qt qss编写工具

使用Qt时经常需要编辑qss,但是无法直接看到效果,因此使用该工具可以用于编辑和实时预览Qt样式表的工具,编写qss利器,可以实时看到效果

2020-04-16

openshift命令行工具oc

在使用线上的openshift时,也就是redhat自己的openshift,而不是自己搭的私有环境,这个时候需要使用oc命令进行一些操作等等

2019-06-14

k8s命令行工具kubelet

在k8s中进行一些pod的操作离不了kubelet命令行工具,而该工具在国内的下载是不太方便的,所以就上传了,这个是64位操作系统试用的,intel/amd 64位处理器 如果是arm处理器需要到去官方下载

2019-06-12

千月蓝牙管理软件

千月蓝牙管理软件,试用于WIN7,XP,不支持WIN8及WIN10,免除蓝牙驱动的困扰

2018-07-23

java反编译单文件版

开发工具,反编译,单文件版,免安装,快速,简单,免费

2018-07-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除