自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

非正常人研究室

【github:https://github.com/PaulWangCN】研究一些不正常的东西,所有博客不定期修改更新。

  • 博客(112)
  • 收藏
  • 关注

原创 Linux服务器定时执行脚本清理日志

程序的日志不正确或者启动脚本命令不正确,随着程序的持续运行,日志文件越来越大,持续占用设备硬盘,如果定期手动清理日志又比较占用大脑CPU和内存,如果忘了就是事故,所以写一个定时执行的脚本去清理日志很有必要。

2023-05-16 09:50:38 1780

原创 【mybatisplus】版本升级后异常PaginationInnerInterceptor cannot be cast to org.apache.ibatis.plugin.Intercepto

发现还是报错,提示:PaginationInnerInterceptor cannot be cast to org.apache.ibatis.plugin.Interceptor。升级mybatisplus从3.1.2到3.5.2错误修复记录。

2022-11-18 16:09:06 1769

原创 【exception】通过mysql客户端登录oceanbase异常

现象有一个oceanbase数据库,提供了登录连接mysql -hxxx.xxx.xxx.xxxx -P2883 -uroot@xxx#xxxx -pxxxx但是执行这个命令就报错Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: NO)一开始以为是网络或者mysql的root登录权限配置的缘故,但是尝试了别的设备上mysql客户端是可以连接的,那么问题就是自己的mysql客户端有问题。最后发现是因为oceanba

2022-01-19 16:14:46 1722

原创 【MySQL】升级增量脚本的编写

升级现场的数据库脚本,因为不同现场的版本不一致,所以如果是要升级,需要找到对应的版本,然后一个一个增量脚本升级,但是有的时候有一些现场是直接修改的,不一定是满足某个版本的实际情况,所以想了一个办法,推出升级的所有增量脚本。总的思路就是如果不存在就添加。具体涉及到:表的新建、字段的新建和修改和基础数据的插入。表的新建判断一张表是否存在,不存在就新建,这个比较简单,如下:CREATE TABLE IF NOT EXISTS T_TEST ( `id` varchar(64) NOT NULL.

2021-10-13 14:20:21 1076

原创 【ThreadLocal】单线程反射方法传参使用ThreadLocal

参考使用ThreadLocal业务场景在一个线程中,需要使用反射的方式去调用某个类的方法,如:String randomStr = "ugefqbfl";//获取类对象Class clazz = Class.forName("com.xxx.Test");//实例化对象Object o = clazz.newInstance();//获取想要执行的方法Method execute = clazz.getDeclaredMethod("execute", String.class);/.

2021-09-10 16:47:10 430

原创 【Exception】fastjson的toJSONString()导致OOM

现象线上代码跑一段时间后出现了OOM的问题,经过日志的检查,发现异常出现在fastjson的toJSONString()导致的OOM解决将toJSONString()方法改成jackson的转字符串方法ObjectMapper objectMapper = new ObjectMapper();String json = objectMapper.writeValueAsString(obj);原因fastjson在转成json字符串的时候会分配一个byte[],当数据量很大的时候,需要分配

2021-04-29 11:01:51 2329 2

原创 【netty】主动关闭netty server

设计一个可以控制监听端口的http服务端的开启和关闭的功能,启动部分比较简单,关闭查了一下,找到了功能,以下是demoimport com.wangjx.swallow.common.server.IServer;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.Channel;import io.netty.channel.ChannelFuture;import io.netty.channel.Channe.

2021-03-05 13:47:41 2134

原创 【工具类】测试目标设备网络是否可达

作用有时候我们需要监控两台设备设备之间的网络是否可达,或者到目的设备的指定端口是否可达。这个工具类可以用于简单的测试。import java.io.IOException;import java.net.*;import java.util.Enumeration;/** * 工具类,检测到目标设备或者是目标设备的端口是否可达 */public class NetTestUtils { /** * 测试到指定IP设备的端口是否可达 * @param ip 目标

2021-02-23 23:03:30 232

原创 【activemq】activemq小版本升级步骤

1.上传activemq升级包到目标设备,放在原来的activemq的同级目录下,然后解压如:tar -xzvf apache-activemq-5.15.13-bin.tar.gz2.activemq5.15.13依赖jdk8,提前检查一下当前的环境是否是jdk8的环境:java -version如果不是jdk8的,检查设备上是否有jdk8的包,如果没有,上传一个jdk8的包上去,比如解压后路径在这个位置:/app/jdk1.8.0_1813.进入activemq解压后的目..

2020-11-05 14:55:28 2935

原创 【kafka】kafka集群的搭建、用户的设置和权限的控制

准备我们准备起码两个实例,你可以在一台设备上操作,但是起码要有两个实例。我这边准备了三台设备,分别为192.168.5.1,192.168.5.2,192.168.5.3。然后是kafka的包和zookeeper的包,kafka和zookeeper的版本要适配。我这里准备的是kafka_2.12-2.4.0.tgz和apache-zookeeper-3.5.8-bin.tar.gz。zookeeper集群的搭建kafka的运行依赖zookeeper,考虑到高可用的能力,所以需要搭建一个zookeepe

2020-11-04 09:55:20 4068 3

原创 【exception】java.lang.NoClassDefFoundError Could not initialize class

现网有一个程序,之前是正常的,替换包以后,发现出现这个异常,写一下排查过程过程这个类、这个程序在本地的IDEA中没有问题,编译是正常的,怀疑是正式环境和测试环境有区别。仔细查看日志,查找问题点。结果发现在一堆报错的中间,有一个不同的报错,是找不到某个类。在IDEA中查看找不到的这个类,发现这个类GSON,版本是2.8.5,查看现网。因为现网的依赖库都是放在jar包外的lib目录下,进入lib目录,发现GSON包版本是2.2.4。将gson包替换后重启,问题解决。反思发生异常的类用到了g.

2020-09-30 16:45:55 2826

原创 【exception】cxf can‘t find request url for Observer

框架是springboot+shiro,在登录页面输入账号密码后点击登录,登录没生效,后台日志发生报错解决方法:原来是/*,拦截了所有请求,需要修改成实际的路径 @Bean("cxfServletRegistration") public ServletRegistrationBean dispatcherServlet() { //注册servlet 拦截/ws 开头的请求 不设置 默认为:/services/* return new Servlet.

2020-09-24 11:31:02 468

原创 elasticsearch开启集群用户名密码认证

参考文章:Elasticsearch 7.1.1 集群 + 配置身份验证下载elasticselasticsearch官网下载链接:https://www.elastic.co/cn/downloads/elasticsearch放到合适的目录后解压。macos用户不推荐brew安装,有坑。设置用户认证前提elasticsearch在6.3及以后的版本已经自带xpack,所以可以直接通过下文的方式进行设置。如果是6.2及之前的版本,需要自己下载安装xpack。下载地址:https://.

2020-09-22 18:45:09 3297 2

原创 【charset】字符串和字符集的理解

今天在写socket接口的时候,需要接受数据,对数据处理完以后需要发送到别的地址。因为接受和发送的数据字符集不同,所以中间需要处理字符集。以前对这个不是很清楚,今天在写的时候发现了两点,做一下总结。本人做Java开发,所以都是用Java举例。字符串首先明确一点,Java的String类型,是没有字符集的概念的,字符串就只是字符串。比如:String str = "这是一个字符串ABC";字符集举常见的GBK和UTF-8,需要用到字符集的地方,一般是接收数据和发送数据的时候,你想要把字节数组按.

2020-07-08 17:44:59 867

原创 【spring cloud stream】spring cloud stream配置多个kafka地址

网上查找了关于配置多个kafka地址的方法,可惜没有找到,在一个博客看到了这个方法,大致方法是对的,但是还是有小错误,导致失败。所以自己修改完亲测有效后,写了这个博客。spring: cloud: stream: binders: # 接下来的kafka1和kafka2就是两个kafka broker的环境配置,配置完成后可以应用kafka1、kafka2这个定义的名字 # 在别的地方引用。功能和profile中的dev环境、test环境、prod

2020-07-06 13:59:11 2040

原创 【exception】NoSuchMethodError kotlin.collections.ArraysKt.copyInto([B[BIII)[B

现象本地在IDEA上使用okhttp的时候没有问题,在给同事用的时候发现一直报这个错误,并且几个同事出现的可能性都不一样。怀疑跟IDEA的版本有问题,因为抛出的异常跟IDEA的包有关系。解决在pom.xml中加入<!-- https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-stdlib --><dependency> <groupId>org.jetbrains.kotlin&lt

2020-06-18 14:19:19 13265 9

原创 【JS】JS中的小tip之==和===的区别

在写JS的时候,发现框架中有用到 == 和 === ,在Java里面是没有===的用法的,所以查询了资料了解一下。区别因为JS是弱类型的语言,所以存在变量的类型是可以隐性转换的。在使用==进行比较的时候,JS会把两个变量改成同一个类型进行比较,例如:var a = '1'var b = 1console.log(a == b)可以看到a和b是不同类型的,JS会隐性的转成同一个类型,所以最后比较的结果就是true。而使用===进行比较的时候,这个是强类型比较,JS不会进行隐性转换。所以最后.

2020-05-19 10:40:38 195

原创 【Java】关于对System.getProperty中user.dir的理解

字面解释System.getProperty(“user.dir”)方法返回的是执行运行Java程序命令的路径。这句话有一点歧义,还是通过举例说明最合适。举例用两个用户,一个是root,一个是普通用户userone,可运行jar包在/home/userone/下面,有一个运行该jar包的sh脚本也在/home/userone/下面。可运行jar包内就是打印System.getProperty...

2020-05-07 11:02:54 9942 3

原创 【Linux】添加用户useradd出现异常useradd group userone exists

现象Linux创建用户userone的时候,用命令useradd userone出现异常:useradd: group userone exists - if you want to add this user to that group, use -g.原因在创建用户时没有指定用户组,系统默认会创建一个同名的用户组,用户userone不存在,但是用户组userone已经存在,所以...

2020-05-06 11:20:56 8915

原创 【BlockingQueue】BlockingQueue接口方法说明和区别

BlockingQueue在异步处理的时候经常用到它的存放和取出数据的操作,但是如存放也有add、offer等多个方法,这些方法有什么区别,这边用LinkedBlockingQueue作为实现测试一下。存放先上方法:boolean add(E e);boolean offer(E e);void put(E e) throws InterruptedException;boo...

2020-04-22 10:48:07 288

原创 【exception】用Java的JAXBContext解析xml线程阻塞问题

现象在用JDK自带的JAXB解析xml时发现执行线程卡住了,没有抛出异常。原因JDK9及以上的包中已经没有JAXB的API,需要自己手动在pom.xml中添加。解决方法在pom.xml中添加依赖:<dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-...

2020-04-10 14:35:12 414

原创 【JS】JS脚本中JSON对象未定义

场景在使用java的js脚本引擎执行脚本的时候,发现js报错,JSON对象未定义。而我需要用JSON.parse()去解析json字符串。原因JS引擎太低了,不存在JSON对象,所以要么不用,要么自己定义。解决脚本github地址:json2.js如果是前端,只需要在执行脚本之前引入这个json2.js脚本就可以了。但是我的是后端,所以一开始查找资料是怎么在js脚本中引入其他js脚本...

2020-04-08 13:35:55 2372

原创 【logback】logback输出日志屏蔽quartz的debug等级日志

在一个spring的老项目中,使用了logback来作为日志管理,logback.xml中已经设定日志输出等级为INFO,但是quartz的日志还是debug级别在输出,导致日志内容很多很乱解决方法在标签内加上,如:<configuration debug="false"> ... <logger name="org.quartz.core.Quartz...

2020-04-08 09:08:52 3024

原创 【exception】ORA-01950 no privileges on tablespace xxxx

因为安全,需要回收oracle用户的dba权限。一开始系统没有出现问题,等过了一段时间,监控系统发现没有数据入库。检查日志,发现出现很多ORA-01950的报错。原因网上搜索资料后,发现是表空间不足的时候,用户会去申请表空间,但是没有权限就没有申请下来。结果一直报这个错误。解决给用户增加该表空间的权限,比如用户XXX没有表空间YYY的权限,修改SQL为:ALTER USER XXX ...

2020-03-05 11:11:22 540

原创 【IDEA】IDEA删除checkout from version control中不想要的url

以前从git或者SVN上checkout了很多的分支,这些分支没用了,但是用IDEA的-按钮删除后,重新打开又有了,找到这个方法可以删除这些分支。关闭IDEA切换到 C:\Users\Administrator\.IntelliJIdea2019.2\config\options目录下,每个人的不一样,反正是C盘用户下的IDEA配置文件夹。找到 other.xml ,打开...

2019-12-26 18:02:18 2412 3

原创 【安装错误】windows10安装mysql后启动出现系统错误1067

在新电脑上按照教程安装mysql并且设置成系统服务后,准备启动mysql,结果执行net start MySQL的时候cmd输出 “系统出错。发生系统错误 1067。进程意外终止。”,在网上找了一下资料后,找到了自己失败的原因排查方式:查看系统日志这个我觉得是最重要的,因为我也是通过这个解决的。怎么查看系统日志可以参考这个百度经验:Windows如何打开和使用事件查看器管理计算机。找到日志...

2019-12-24 11:06:30 595

原创 【ORACLE】常见sql汇总

查询查询序列的下一个值SELECT EXAMPLE_SEQ.NEXTVAL FROM DUAL;模糊查询的内容中存在%这样的特殊符号select * from ip_table where regexp_like(ip,'%78');PS: 如果是直接like,带有%会被直接默认为匹配符查询关联的外键select a.constraint_name, a.table_...

2019-12-09 17:00:26 172

原创 【springboot新手向】用springboot搭建一个简单的web项目

用springboot框架搭建一个简单的web项目,可以返回页面或者ajax请求的结果。用mybatis-plus查询mysql数据库。完整代码地址:cat创建一个maven项目pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" ...

2019-11-24 01:25:58 1057

原创 【MYSQL】将非分区表改成分区表

原来的采集数据表collect_data每天的增量为5亿数据,通过简单的条件查询已经无法满足,所以通过分区的方式进行改造。直接将原来的非分区表改成分区表的sql如下,是将数据按照采集时间的日期进行分区。alter table collect_data PARTITION BY LIST (day(collect_time))(partition p1 values in(1),par...

2019-11-13 21:30:46 1658

原创 【Linux】centos7通过docker安装oracle 11g

纯净的linux安装过程安装dockeryum updateyum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum list docker-...

2019-11-03 22:17:02 802

原创 【错误】weblogic错误汇总

安装错误此平台上不支持OpenJDK JVM。原因安装的是openjdk,而不是oracle的jdk解决去oracle官网下载一个linux的包,上传后重新安装

2019-10-29 13:54:19 1318

原创 【Linux】常见操作实践笔记

因为调试部署Java程序的需要,需要进行一些操作,记录一下。根据以后的学习接触,随时补充创建覆盖配置文件创建文件(application.yml)touch application.yml编辑并保存vi application.yml按i进入编辑模式,输入完成后按Esc,然后按:wq!就可以保存查看程序的pid并杀死查看程序的pidps -ef|grep xx...

2019-09-12 14:17:05 155 1

原创 【@Scope】@Scope的使用方式

详情见spring文档说明scope翻译就是范围的意思,从名字看就是定义这个bean的作用范围。从文档中说明有5个值可以使用。@Scope(“singleton”)该注解的默认值,表示这个bean在spring容器中是单例的,我们通过spring容器获取这个bean的时候,都是对一个对象进行操作。@Scope(“prototype”)表示这个bean在容器中不是单例的,每次...

2019-09-06 11:50:23 2324 1

原创 【@Import】@Import注解使用方式

使用方式直接注入新建一个Man类,不加注解,不在启动时注入到spring IOC容器中public class Man { public void say() { System.out.println("I am a man."); }}新建一个Woman类,不加注解,不在启动时注入到spring IOC容器中public class Woman ...

2019-09-04 16:13:55 471

原创 【exception】文件存在但是抛出FileNotFoundException

还原现象从公司的SVN上来下来代码,运行main方法后发现抛出FileNotFoundException异常,将文件的路径打印出来以后,发现路径的中间有中文转化后的%2%4之类的字符串解决方法将项目放到不带中文的路径上就可以正常运行...

2019-09-03 15:36:23 1459 1

原创 【exception】Caused by org.hibernate.hql.internal.ast.QuerySyntaxException t_use

在使用springboot的JPA的@Query注解时出现的问题错误代码@Query("from t_user u where u.username=:username")User findUser(@Param("username") String username);报错栈org.springframework.beans.factory.UnsatisfiedDep...

2019-08-31 23:54:17 804

原创 【@Conditional】@Conditional注解使用方法

举例通过Condition可以自定义注入bean的条件,如:注入一个MyService的bean,前提条件是JdbcTemplate这个bean要注入成功,代码如下:条件类public class JdbcTemplateCondition implements Condition { @Override public boolean matches(ConditionC...

2019-08-28 22:55:24 540

原创 【Mycat】MySQL读写分离

master-slave读写分离项 目MycatMySQL-masterMySQL-master-standbyMySQL-slaveIP10.230.4.13110.230.3.19410.230.3.19510.230.2.132Port8077/9077330633063307MySQL为二主一从,3.195为3.194的standby...

2019-08-14 16:42:13 136

原创 【Mycat】分片规则详解

分片表和非分片表Mycat位于应用和数据库的中间层,可以理解为数据库的代理。不是所有的表都需要分片,数据量小并且不需要做水平切分的表称之为非分片表;数据量大到单库性能、容量不足以支撑,数据需要通过水平切分到不同数据库中的表称之为分片表。ER关系分片表ER模型是实体关系模型,广泛采用概念模型设计方法,基本元素是实体、关系和属性。Mycat创新性地将它引入数据切分规则中,使得有互相依赖的...

2019-08-12 16:20:24 784

原创 【exception】springboot多模块jar包启动失败

重现今天一个多模块的springboot用maven打成jar包,使用 java -jar 命令启动失败,报错是//中文提示xxx.jar中没有主清单属性//英文提示no main manifest attribute...原因maven的打包错误,没有指定main方法入口类,可以看jar包里面META-INF\MANIFEST.MF正常的内容Manifest-Versio...

2019-08-09 16:57:21 847

空空如也

空空如也

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

TA关注的人

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