自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (13)
  • 收藏
  • 关注

原创 用拦截器解决xxljob适配sleuth

项目中使用了xxljob做任务调度中心,使用过程中发现一个问题,xxljob调度的任务代码日志没有traceId和spanId等信息,为了放方便问题跟踪,所以要做适配。发现一个问题,traceId和spanId虽然都还在,但都是一个新值,老的traceId无法保留,此问题尚未解决。所以按照这个思路我写了个拦截器来为使用@XxlJob注解的方法手动添加traceId和spanId。测试了下,traceId和spanId都成功添加,然后我又测试了异步方法。网上调研,sleuth的日志增强类。

2024-02-06 14:25:18 489 1

原创 @ServletComponentScan导致@Component和@WebFilter冲突

第一次我去掉了 Filter上的@Component,项目可以启动了,但是其他使用这个拦截器无法生效。第二次我恢复@Component,然后把@WefFilter中的filterName改成。项目中添加了一个公共请求日志打印过滤器。然后项目也可以启动,但是过滤器生效两次。

2023-11-24 15:41:02 509

原创 mybatisplus报错ReflectionException: Could not set id of class

在实体类上增加@TableId(type = IdType.AUTO) 注解。数据库用的主键是自增,两者发生了冲突。

2023-10-31 11:37:16 139

原创 go初学:channel引发的死锁问题

我们分析上面的代码知道当第二个线程执行完最后一次有一个对ch1的写入操作,这个操作导致了死锁,所以我们要在最后一次的时候停止对ch1的写入操作。如果你在一个 goroutine 中向通道发送数据,而没有其他 goroutine 在相同的通道上接收数据,那么程序会被判断为发生死锁。如果你在一个 goroutine 中从通道接收数据,而没有其他 goroutine 在相同的通道上发送数据,那么程序会被判断为发生死锁。想起之前一道题,两个线程,轮流对同一个数进行加一操作,每个线程执行10次。

2023-08-15 10:23:00 161

原创 go初学:select什么情况走default分支

语句会根据已经准备好的 case 来选择一个分支执行,如果多个 case 同时满足条件,那么 Go 的运行时会在这些 case 中随机选择一个执行。因此,如果想要在没有其他 case 满足条件时执行特定操作,可以使用。当所有通道都没有准备好读取或写入时,分支是一种特殊情况,它在其他 case 都不满足时被执行。是否满足条件,然后根据条件执行相应的分支。语句会等待,直到至少有一个通道准备好操作。语句会阻塞等待,直到至少有一个。语句不会阻塞等待,除非所有的。中都没有准备好的操作。都没有准备好,且没有。

2023-08-08 23:09:31 306

原创 go初学记录:继承

go并没有类似于java那样extends的继承,go对继承的实现更像设计模式中的组合模式。通过在struct中声明一个匿名属性来实现继承,所以go的继承是无数量限制的。go方法识别符类似于java,也无法单纯通过返回值不同来达到多态。

2023-07-27 16:55:11 65

原创 go初学记录:接口参数无需带*

总结:如果方法的参数是具体的结构体类型,需要传递结构体的地址;如果方法的参数是接口类型,可以直接传递实现了该接口的结构体或指针类型。),则在调用该方法时,可以直接传递实现了该接口的结构体或指针类型,因为接口是引用类型,它包含了指向实际对象的指针。),那么在调用该方法时,需要将结构体的地址作为参数传递,因为Go是传值调用,直接传递结构体实例会复制一份结构体。在Go中,如果一个方法的参数是具体的结构体类型(比如。而如果方法的参数是接口类型(如。函数中,我们可以直接传递实现了。接口的结构体指针(如。

2023-06-30 17:18:12 77

原创 线程池的各种拒绝策略和使用场景

根据具体的应用需求,选择适合的拒绝策略非常重要。需要考虑任务丢失的可接受程度、任务优先级、对异常处理的需求等因素。另外,有些线程池实现还提供了自定义拒绝策略的扩展点,可以根据实际需求自定义实现特定的拒绝策略。需要注意的是,无论使用哪种拒绝策略,都应该在提交任务前合理估计线程池的边界和资源限制,以避免因过度提交任务而导致系统不稳定或资源耗尽。线程池的拒绝策略决定了当线程池无法接受新任务时,如何处理这些被拒绝的任务。

2023-06-16 15:15:50 734

原创 java.lang.IllegalStateException: Logback configuration error detected解决方案

升级项目springboot,springcloud,springcloud-alibaba到如下版本后。升级nacos-client版本到 2.2.1 后就无此问题了。中说可能是nacos-client版本问题。

2023-04-18 09:43:09 2490

原创 sleuth 接入之后,无法打印 applicationName

日志格式化增加 ${LOG_LEVEL_PATTERN:-%5p} 或者 [${applicationName},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-}],如果已有则无需修改配置。如果代码中需要使用线程,因为sleuth是基于BeanPostProcessor实现的,所以通过new 创建的实例是无法被sleuth管理的。所以如要在线程中链路中使用链路追踪,需要把线程池通过注入的方式使用。此步骤非必须,如果配置的线程池无法生效,可尝试。

2023-04-10 14:35:18 340 3

原创 Java如何实现代码在指定时间内执行完毕

场景:在开发过程中遇到一个问题,在连接redis的时候超时,spring.redis.timeout=1000设置了一秒超时,但是抛出redisconnectionfailureexception大约在10秒后,网上找了相关资料也没有找到什么原因,所以想着用代码去实现,这里用到了CompletableFuture。

2023-04-06 16:59:09 302

转载 spring-boot 中的 log 配置

在这里简单介绍下常用的配置参数日志级别机制:如果一条日志信息的级别大于等于配置文件的级别,就记录。trace:追踪,就是程序推进一下,可以写个trace输出 debug:调试,一般作为最低级别,trace基本不用。info:输出重要的信息,使用较多 warn:警告,有些信息不是错误信息,但也要给程序员一些提示。error:错误信息。用的也很多。fatal:致命错误。输出源CONSOLE(输出到控制台) FILE(输出到文件)格式。

2023-04-06 10:07:54 3261

原创 用idea生成jar包时没有original文件

true

2023-04-02 18:19:15 406

转载 nacos2.2.1 启动报错

把结果赋值给nacos/conf/application.properties的nacos.core.auth.plugin.nacos.token.secret.key,然后启动就可以了。github看到一个解决方案。

2023-03-28 23:33:19 316

原创 springboot整合AspectJ的Pointcut之@target使用

2023-03-15 15:56:10 854 2

原创 elasticsearch8和kibana部署以及与springboot整合遇到的坑

elasticsearch 8安装遇到的问题

2023-03-04 19:11:22 3491 1

原创 自定义注解实现

自定义注解实现权限验证

2023-02-24 09:13:59 868

原创 windows下如何杀死启动的java项目

2. 使用 taskkill /PID PID号 /F 杀死进程。1. 使用jps查看java进程号。

2022-09-09 14:27:03 1418

原创 springboot自定义starter

1. 新建springboot项目2. 删除启动类3.修改pom文件 <!-- dependencies里面添加如下依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifa

2021-10-14 17:58:06 254

原创 对象根据属性去重

@Datapublic class AppVideo { private String appId; private String packageName; private String name; private String type; private String icon; private String video; public AppVideo(){} public AppVideo(String appId, Strin.

2021-07-14 16:41:04 351

原创 IDEA 下maven设置全局生效

1. 打开file --> new projects settings --> settings for new projects2.U

2021-05-28 14:25:43 690

原创 解决windows下rabbitmq安装后启动的时候ERROR: node with name “rabbit“ already running on “XXXX“

window下安装rabbitmq可以按照https://blog.csdn.net/yuanchangliang/article/details/108195259安装完之后.进入rabbitmq的sbin目录输入: rabbitmq-server start之后报:ERROR: node with name "rabbit" already running on "XXXX"这个时候http://localhost:/15672 管理页面也无法打开这个时候只需要输入: rabbitm

2020-09-06 15:01:07 1530 1

原创 Unregistering application EUREKA_CLIENT with eureka with status DOWN. eureka客户端启动之后注册失败, 然后项目停止

eureka客户端在启动类加上了@EnableDiscoveryClient配置文件eureka: client: service-url: defaultZone: http://localhost:8761/eureka/ register-with-eureka: falsespring: application: name: eurekaserver: port: 8761确认无误之后, 启动之后,2020-09-05 10:

2020-09-05 10:42:17 780

原创 Idea安装后连接git报500

idea已经连接过git的话,选择使用不要使用username和password. 使用credit那个选项.

2020-08-27 10:43:56 593

原创 linux下配置jdk,并且把权限赋给其他用户

1、下载好jdk压缩包解压JDK(tar -xzvf 文件名)2、进行jdk环境变量配置:vi /etc/profile大写G跳到最后添加下面代码,配置环境变量,注意要对应版本号JAVA_HOME=/usr/local/jdk1.8.0_191JAVA_BIN=$JAVA_HOME/binJRE_HOME=$JAVA_HOME/jreJRE_BIN=$JRE_HOME/...

2019-12-26 19:10:57 4355

原创 sql语句报"You can't specify target table 表名 for update in FROM clause"

在执行一个删除语句的时候写了如下语句DELETE FROM userWHERE card_num IN ( SELECT card_num FROM user GROUP BY card_num HAVING COUNT(*) > 1 );执行报错:You can't specify target table ...

2019-12-12 16:40:04 201

原创 添加特殊字符过滤器后台有中文乱码的问题

在一个修复特殊字符过滤的问题中,添加了一个如下过滤器, 后台收到的中文出现了乱码.import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletE...

2019-11-20 15:24:38 198

转载 浅谈java中泛型类的extends和super以及PECS规则

class Fruit {}class Apple extends Fruit {}class RedApple extends Apple {}我们首先定义三个具有继承关系的class.然后我们来做一下简单的测试.public class ArrayTest { public static void main(String[] args) { //数据的...

2019-04-10 11:18:17 263

原创 Java 枚举enum构造方法默认是private

public enum FruitEnum { APPLE("RED",6),ORANGE("YELLOW",10),PEAR("YELLOW",20); private String color; private int day; FruitEnum(String color, int day) { this.color = color; ...

2019-04-10 11:05:40 5870

Spring boot,springCloud精选视频教程

.使用Spring Cloud搭建服务注册中心 2.使用Spring Cloud搭建高可用服务注册中心 3.Spring Cloud中服务的发现与消费 4.Eureka中的核心概念 5.什么是客户端负载均衡 6.Spring RestTemplate中几种常见的请求方式 7.RestTemplate的逆袭之路,从发送请求到负载均衡 8.Spring Cloud中负载均衡器概览 9.Spring Cloud中的负载均衡策略 10.Spring Cloud中的断路器Hystrix 11.Spring Cloud自定义Hystrix请求命令 12.Spring Cloud中Hystrix的服务降级与异常处理 13.Spring Cloud中Hystrix的请求缓存 14.Spring Cloud中Hystrix的请求合并 15.Spring Cloud中Hystrix仪表盘与Turbine集群监控 16.Spring Cloud中声明式服务调用Feign 17.Spring Cloud中Feign的继承特性 18.Spring Cloud中Feign配置详解 19.Spring Cloud中的API网关服务Zuul 20.Spring Cloud Zuul中路由配置细节 21.Spring Cloud Zuul中异常处理细节 22.分布式配置中心Spring Cloud Config初窥 23.Spring Cloud Config服务端配置细节(一) 24.Spring Cloud Config服务端配置细节(二)之加密解密 25.Spring Cloud Config客户端配置细节 26.Spring Cloud Bus之RabbitMQ初窥 27.Spring Cloud Bus整合RabbitMQ 28.Spring Cloud Bus整合Kafka 29.Spring Cloud Stream初窥 30.Spring Cloud Stream使用细节 31.Spring Cloud系列勘误

2018-11-29

js调用ocx插件

js调用ocx插件

2017-07-20

传智播客.NET基础课程种子

第1季C#编程基础 第2季C#面向对象基础 ..... 第5季ADO.Net ....... 第10季asp.net基础 ...... 第13季ajax

2013-07-27

Unity3D 坦克大战 中文视频教程下载地址

Unity3D 坦克大战 中文视频教程 Unity3D坦克大战全中文教程第1集@软件及游戏简介 ... Unity3D坦克大战全中文教程第6集@预置物体

2013-07-27

MyEclipse 9.1 下载 破解

MyEclipse 9.1 下载 注册 破解 激活 注册码 MyEclipse 9.1 下载地址: ed2k://|file|%5Bmyeclipse.9.1.%E6%9B%B4%E6%96%B0%E5%8F%91%E5%B8%83%5D.myeclipse-9.1-offline-installer-windows.exe|976245552|2a664a8199a314450e265ff9bcc737ad|h=bdnqiyf4mn2tqxelahneggtrox2snpgk|/ MyEclipse 9.1 注册: 1、替换文件: 把破解文件.替换.zip 解压后 替换掉原来的文件,替换前最好先备份 一下。 2、启动MyEclipse,执行 myeclipse9_keygen_activator.exe(注册机) 在注册机中输入你的英文名,直接点Generate Subscription Code, 然后再点Generate Activation Code,这样注册码和激活码就都生 成了在MyEclipse中注册用户名和注册码,然后激活,选择用激活码 激活,把注册机中的激活码贴进去,确认,MyEclipse就激活了。

2011-09-30

手机QQ源代码 Java版QQ源代码

QQ源代码分析 公共变量: public static KQQMIDlet instance = null; public static Display display = null; public static Runtime runtime = null; public int gaugeState; public String strUserID; public String strPasswd; public static String url = "http://218.18.95.203:21001/"; public static MainMenu mainMenu; public static HttpPoster httpPoster; public static FriendRecord friendRecord; public static FriendList friendList; public static GetMsgDlg getMsgDlg; public static SendMsgDlg sendMsgDlg; public static AddFriend addFriend; public static Finger finger; public static AckSvrMsg ackSvrMsg; public static MainForm mainForm; public static BlackList blackList; public static MultiLan sysString; public static HistoryMsg historyMsg; public boolean isWaitLogin; 公共方法: public void init() public void startApp() 应用程序开始函数;当应用程序开始运行时、应用程序暂停后再继续时被调用;根据不同的情况进行不同的操作:

2011-04-14

Oracle常用傻瓜问题1000问

Oracle常用傻瓜问题1000问 可以看下 清风免费奉上

2011-03-08

计算机网络(第五版)电子教案

计算机网络(第五版)电子教案 主要是讲课的ppt

2011-03-08

JavaScript 圣经第六版.pdf

JavaScript 圣经第六版 英文版

2010-10-03

空空如也

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

TA关注的人

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