自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sj1231984的专栏

此处有码

  • 博客(46)
  • 资源 (17)
  • 收藏
  • 关注

原创 spring-cloud-consul配置中心获取指定路径下的配置

一、consul配置中心存在的问题:我们使用consul作为配置中心时,在springboot项目的配置文件中一般会添加如下配置spring: profiles: active: dev application: name: customer-service config: import: optional:consul:localhost:8500 cloud: consul: health-indicator: use

2021-09-18 19:41:05 1508

原创 idea 远程调试springboot项目

项目部署在linux服务器上,启动命令为:java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=12345 project.jar --server.port=8088idea上创建remotedebug运行

2021-08-27 17:42:16 201

原创 多个docker-compose文件共享一个网络

第一个docker-compose文件:docker-compose1.yml其中指定了一个名称为service-net的网络,所用的ip段为172.19.0.0/16同时给服务service2分配了固定的ip为172.19.0.21version: "2"networks: service-net: name: service-net ipam: config: - subnet: 172.19.0.0/16 #用于指定网络ip段serv

2021-08-25 20:38:13 3059

原创 centos 安装docker及docker-compose

安装docker$ curl -fsSL get.docker.com -o get-docker.sh$ sudo sh get-docker.sh --mirror Aliyun$ sudo systemctl enable docker$ sudo systemctl start docker安装docker-compose下载地址:https://github.com/docker/compose/releases将下载好的文件复制到/usr/local/.

2021-08-16 12:04:03 144

原创 nginx 丢失端口问题

问题描述:我使用docker部署的nginx服务,nginx内部是80端口,映射到宿主机上的5001端口上,nginx的内部配置如下:upstream upstream{ server xx.xx.xx.xx:8080;}server { listen 80; server_name xx.xx.xx.xx; #charset koi8-r; #for server access logs. if ( $time

2021-07-27 18:52:08 2416

原创 docker-compose部署consul集群

services: consul1: image: consul:1.9.7 ports: - "8500:8500" volumes: - /cloud/data/consul/data:/consul/data container_name: consul1 restart: always command: agent -server -ui -node=1 -client='0.0.0.0' -bootstrap.

2021-07-27 17:34:20 195

原创 easyExcel读数据后在写入另一个excel

需求说明:如下图所示,excel中有4个sheet,每个sheet的数据格式都一样,有5列,第一列为订单id,现在要根据订单id到数据库中查询出其他几列的信息并补充到excel中。代码如下:首先为service中的主方法 public void userMessage() {// String path = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();

2021-06-18 17:30:10 2917

原创 feign如何启用httpClient、OKhttp

启用httpClient:网上很多文章都说通过配置feign.httpclient.enabled=true

2021-06-09 17:56:01 3033

原创 Jackson2ObjectMapperBuilderCustomizer不生效解决

@Configuration@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)public class ConvertConfiguration implements WebMvcConfigurer { @Autowired(required = false) private MappingJackson2HttpMessageConverter mappingJackso.

2021-06-07 20:03:32 10510

原创 前端传入数字,后端用枚举接收统一处理

举例:有性别枚举:public enum GenderEnum implements BaseCodeEnum { male(1,"男"), female(2,"女"); Integer code ; String value; GenderEnum(Integer code , String value){ this.code = code; this.value = value; } @Overri

2021-06-07 19:57:15 2756

原创 springCloud-gateway按照服务名动态路由的改造(三)

springCloud-gateway按照服务名动态路由的改造(二)从上一篇文章中,我们分析知道,按照服务名动态路由无非是构造RouteDefenition的过程不同,是根据从注册中心获取到的服务来动态构造RouteDefenition的各个属性,包括id,uri,Predicate,Filter这几个属性。每个RouteDefenition对应后端的一个服务。...

2021-05-28 19:14:20 705

原创 springCloud-gateway按照服务名动态路由的改造(二)

按照服务名动态路由如果按照我们上面的理解,所有的路由在程序中都对应一个RouteDefenition对象,下面我们来看看gateway是如何根据服务名来生成对应的路由对象RouteDefenition的?打开GatewayDiscoveryClientAutoConfiguration,根据我们的配置会生成一个DiscoveryClientRouteDefinitionLocator对象bean。下面我们分析一下DiscoveryClientRouteDefinitionLocator的构造

2021-05-28 15:43:32 1623 2

原创 springCloud-gateway按照服务名动态路由的改造(一)

我们知道在gateway中加入下面的配置,则网关会根据路径中的服务名会自动路由到对应的服务,如 http://gateway.com/my-service-name/login这个请求,将会根据my-service-name这个服务名路由到该服务。spring: cloud: gateway: discovery: locator: enabled: true #开启根据微服务名称自动转发 lower-case-se

2021-05-26 20:50:16 3469

原创 警告: ParameterizedTypeImpl是内部专用 API, 解决方式

需求: 我需要构造一个A<B>格式的Type,以求jackson反序列化的时候传入,刚开始是用了如下方法:ParameterizedTypeImpl.make(A.class,new Type[]{B.class},null)程序启动时一直包警告。警告原因:ParameterizedTypeImpl 后续版本可能会删除。后面解决方式:使用gson的TypeTokenType wrapperType = TypeToken.getParameterized(A.

2021-05-21 17:05:35 3158

原创 springCloud2020.0.2+springboot2.4.5接入consul注册中心和服务中心

spring: config: import: optional:consul:localhost:8500 profiles: active: dev application: name: my-service cloud: consul: # 配置中心相关配置 config: enabled: true #是否启用配置中心功能 format: yaml #设置配置值的格式 prefi.

2021-05-14 16:56:24 459

原创 gradle 将自定义springboot-starter上传到nexus私服

plugins { id 'org.springframework.boot' version '2.1.5.RELEASE' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' id 'maven' id 'maven-publish' id 'java-library'}group = 'com.xxx.xxx'version = '1.0.1'sourceCom.

2021-04-21 19:02:22 462

原创 Gradle 构建jar包,依赖和配置分离

项目环境:springboot 2.1.5-releasegradle 6.7.xidea2020.3// 将依赖包复制到lib目录task copyJar(type: Copy) { // 清除现有的lib目录 delete "$buildDir\\libs\\lib" from configurations.runtimeClasspath into "$buildDir\\libs\\lib" from configurations.com.

2021-04-19 18:02:30 1184 1

原创 skywalking和JPA冲突问题解决

冲突原因:不加skywalking的时候,JPA接口的代理方式为JDK动态代理,加入skywalking后,JPA的接口代理方式变成了CGLIB。如下图所示为判断JPA接口代理方式的逻辑:之所以加入skywalking后,代理方式变成CGLIB的原因是,skywalking对hasNoUserSuppliedProxyInterfaces方法进来了重新定义。代理的逻辑代码如下图,第二张图是具体的重定义实现。解决方式:我的解决方式就是在afterMethod中增加判断,如果是JPA

2020-07-10 20:10:12 1293 1

原创 chrome浏览器如何设置自动播放音视频

这个的意思是 :通常发生在尝试在没有用户交互的情况下播放音频或视频时。现代浏览器(如 Chrome 和 Firefox)为了防止自动播放广告和其他不受欢迎的内容,要求在播放媒体之前必须有用户交互(如点击或按键)。1、打开chrome://settings/content/sound 页面。2、按照下图添加域名即可。

2024-09-09 17:01:46 511

原创 linux ls ll命令中文乱码

ls命令显示的结果带有中文的文件名称,全部都是?解决方式:可以使用 ls --show-control-chars解决。

2021-06-29 19:16:13 2117 3

原创 mybatis-plus QueryWrapper 添加limit

其实是在sql的最后加上 limit 相关的语句。QueryWrapper wrapper = new QueryWrapper<>();wrapper.last("limit 1");

2021-06-23 18:07:44 69479 4

原创 flatmap使用

使用场景适用于嵌套list数据结构,想把内部的list数据合并成一个list.。举例如下:public class Test { public static void main(String[] args) { List<List<String>> list = new ArrayList<>(); List<String> list1 = new ArrayList<>();

2021-06-16 10:38:38 3213

原创 class.getTypeParameters()方法

该方法会返回class上定义的泛型变量数组:举例如下public interface First<T,U> { public void test();}public class MainTest { public static void main(String[] args) { Class<First> firstClass = First.class; TypeVariable<Class<First&

2021-06-09 15:57:11 570

原创 java lambda groupingby 结果的value为对象的一个属性

需求如下:将List<Person> 按照id分组,并取name为分组的结果。即结果应该为Map<id,List<Sting>>,而 不是Map<id,List<Person>>实体如下@Datapublic class Person{ private Long id; private String name; }实现如下: Map<Long,List<Stirng>>

2021-05-17 11:49:55 4508

原创 gradle 作为编译工具 lombok 死活不生效解决

在gradle.build文件里的dependencies模块里添加compileOnly 'org.projectlombok:lombok'annotationProcessor 'org.projectlombok:lombok'

2021-04-26 11:13:35 817 1

原创 dolphinscheduler1.3版本源码分析---MASTER模块

在API模块的分析中,我们知道了当任务到达定时器定义的时间时,会在t_ds_command表中生成一条记录。那么谁去消费这张表里的这条记录呢?下面我们分析MASTER模块。1、master的启动过程分析上面的启动过程,我们可以知道masterSchedulerService.start();启动了一个线程,这个线程主要负责处理command表中的记录,下面我们进入到MasterSchedulerService中进行分析二、MasterSchedulerService分析...

2021-01-19 17:43:47 647

原创 dolphinscheduler1.3版本源码分析---API模块

API模块主要功能api模块主要提供对外接口,界面上的对流程、定时的管理等相关操作都是通过调用API模块的接口实现的,API模块直接跟数据库打交道,不会与master和worker模块交互。相关接口概览同时由于api模块集成了swagger,我们可以通过访问 http://xxxx/dolphinscheduler/doc.html来查看详细的API说明流程定时调度逻辑当我们创建好流程,并对流程增加定时管理后,dolphin是如何定时去调度流程的呢?该部分逻辑其实也是在API模.

2020-12-30 15:20:30 1668

原创 spring 替换字符串中的配置信息

public class PlaceholdersResolver { private final static String PLACEHOLDERS_PREFIX = "$"; /** * 对占位符进行解析 * 如果字符串中包含占位符则返回解析后的值,否则返回原值 * @param key * @param environment * @return */ public static String resolve(.

2020-10-13 09:59:52 659

原创 spring-cloud-sleuth链路信息中增加自定义属性

需求说明:我要实现的需求是前端会将页面的pageId放到request heander中,后端会将pageId保存到链路信息中,这样以后就可以查看某个页面上有多少个请求了(链路展示端没用到zipkin,是自定义前端页面)。实现方式:通过研究sleuth的源码,发现sleuth已经提供了这样的方法了,我们只需要配置一下就好了,配置方法如下:1,配置文件:红色部分spring: zipkin: sender: type: kafka ...

2020-05-18 18:31:27 2223

转载 TCC java 案例

参考:https://github.com/changmingxie/tcc-transaction

2020-01-20 14:50:23 537

原创 win10 mysql 主从复制(异步复制)配置

一:环境os:win10mysql:5.7.17engine:innoDB。主机ip:192.168.1.132主机数据库端口:3308从机ip:192.168.1.190从机数据库端口:3306二:主机配置2.1:打开my.ini文件,路径在C:\ProgramData\MySQL\MySQL Server 5.7\my.ini。增加如下的配置项即可。...

2019-12-13 15:29:35 342

原创 java lambda 对list实现分组(groubby);并将对象的部分属性作为List对象,然后返回list中的第一个值

List<Persion> pList = new ArrayList<>{...初始化数据}Class Persion{String name;String age;//setter//getter}实现目标:对list按照age分组 并返回分组中第一个persion的name实现:Map<String,...

2019-12-04 16:09:56 3974

原创 java web 解决cors 跨域问题

解决跨域问题要在服务器端解决,在服务器端的响应头中增加如下设置即可://表示允许所有域访问response.headers().set("Access-Control-Allow-Origin", "*");//表示请求头中可以包含任意的属性response.headers().set("Access-Control-Allow-Headers", "*");//表示允许所有的请...

2019-11-22 14:00:10 446

原创 java中lambda表达式双冒号::的使用

1:当 ::前面为一个类名,后面跟一个静态方法时,如下所示,此时等号左边的函数式接口中的方法和静态方法签名一致即可,即方法参数个数和类型一致,如果左边的函数式接口中的方法返回值不是void则要求右边lambda静态方法的返回值和其一致,如果左边的函数式接口中的方法返回值是void,则右边的lambda静态方法的返回值可以为任意类型。2:当::前面为一个类名,后面为一个实例方法时,如下图所示...

2019-11-20 15:06:38 6502

原创 关于String常量池的理解

1:String s1="abc";当我们写这样的表达式的时候,在编译时 “abc”就会在常量池中创建,s1指向的是常量池中“abc”的引用。2:String s2 = new String("abcd")当我们写这样的表达式的时候,在编译时 “abcd”就会在常量池中创建,但是运行时仍然会在堆中创建一个字符串对象。s2引用为堆中的地址。以下的输出为false,因为s2为堆中的...

2019-11-14 11:14:29 251

原创 nexus 私服 提示磁盘空间不足

nexus使用过程中随着资源的增加,磁盘剩余空间将越来越小,小到一定程度后会报以下错误Return code is: 500 , ReasonPhrase:javax.servlet.ServletException: com.orientechnologies.orient.core.exception.OLowDiskSpaceException: Error occurred whil...

2019-09-19 11:00:50 13778 1

原创 java ThreadLocal 原理说明

准备工作创建一个共享变量ThreadLocal再创建一个向共享变量ThreadLocal 中赋值的线程再创建一个从共享变量ThreadLocal 中取值的线程如下图所示:tl为共享变量ThreadLocalTestThreadForSet 为赋值线程;TestThreadForGet 为取值线程,为保证赋值线程先于取值线程执行,中间加入了等待2秒运行结果:...

2019-08-31 18:25:50 416

原创 macaca-android 安装时生不出apk的解决方法

在没有翻墙软件的时候,我们安装macaca相关模块的时候要用cnpm,不建议用npm命令。使用cnpm i macaca-android g 命令执行安装,我们会发现安装的日志里会出现包含build Fail关键字的日志,这表明该模块下的俩个apk没有生成成功。apk的具体目录为D:\nodejs\node_global\node_modules\macaca-android\node...

2019-07-29 19:15:12 734 1

原创 android 8以后静态注册的广播接收器接收不到广播的解决

android 8.0以后版本对静态注册的广播做了限制,自定义的接收器会接收不到发送方发送的广播。解决方式: 发送方需要在intent中设定接收方的package,这样,接收方才会接收到,即发送方加入一行这样的代码即可:intent.setPackage("接收方所在的包名");...

2019-07-12 09:35:22 1385

原创 windows7下编译openjdk9

 一:工具准备1.1:mercurial,该工具主要用于下载openjdk的源码,我用的是4.8.1,下载链接https://download.csdn.net/download/sj1231984/109441311.2:cygwin64,该工具模拟linux的操作环境,内置make,zip等工具,用于编译openjdk源码。下载链接;https://download.csdn.ne...

2019-01-30 11:14:13 655

apm-spring-core-patch-8.4.0.jar

到plugins目录下将apm-spring-core-patch jar包替换即可

2021-04-23

spring cloud auth2集成demo

集成sping-cloud-auth2到项目demo

2021-01-03

cas服务端war包

CAS服务端的war包,执行build.sh run可以直接运行,如果运行时报错,则需要安装\etc\cas\thekeystore,这个是个证书。

2020-08-14

zipkin-server-2.20.3-SNAPSHOT-exec.jar

最新zipkin源码编译出来的jar包,当前版本为2.20.X,支持ES7.0+,可以和SpringCloud-sleuth集成使用。

2020-05-16

alibaba-nacos-demo.rar

springcloud-gateway 搭配 nacos 实现以nacos作为配置中心和注册中心,网关注册到注册中心后实现按照服务名称转发案例

2020-04-30

nacos源码及build出来的jar包

从git上下载的1.2.0的源码,在本地编译打包成jar包 双击运行 xxx\nacos\distribution\target\nacos-server-1.2.0\nacos\bin 下的startup.cmd即可运行。访问http://localhost:8848/nacos即可进入界面

2020-04-14

端口监控程序.bat

windows 通过bat监控jar进程,如果进程未启动则启动jar

2019-10-24

cygwin64模拟linux

该工具在编译openjdk时可以模拟linux的操作环境,注意路径问题,C:盘对应的路径为/cygdrive/c

2019-01-30

mercurial4.8.1

该工具可以下载openjdk的源码,目前是最新版本。亲测可用!

2019-01-30

Roboguice框架使用实例

android应用中整合Roboguice框架

2016-11-01

android应用整合Ibatis框架

对mybatis源码稍微进行了修改,使其适用于android开发

2016-11-01

天地图开发实例

里边是web项目中天地图的实例jsp,包括的功能有在天地图上增加控件,增加tmarker,tlabel,线等,且对事件的绑定做了自己的处理,以供参考。

2013-12-12

myeclipse下java调用webservice项目例子

压缩包里包含了在myeclipse下的创建的webservice测试工程。里面有具体的客户端调用代码,以及需要的axis所有包。

2013-07-14

poi操作excel的jar包及事例

该压缩包主要包括了操作excel所需要的jar包以及本人使用java操作excel的实例。

2012-07-25

jsp嵌入ckeditor编辑器的例子

该事例主要演示了如何向jsp中嵌入ckeditor编辑器。注意首先要引入ckeditor资源库。上网就可以下载。下载下来之后将其放到webRoot目录下就可以了。

2012-04-20

C3p0、Oracle数据库连接驱动、MySQL数据库连接驱动jar包.rar

C3p0、Oracle数据库连接驱动、MySQL数据库连接驱动jar包.rar

2011-03-17

mysql的安装方法

详细的简绍了mysql的安装的方法,注意记住密码的设置。

2011-03-12

空空如也

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

TA关注的人

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