自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (2)
  • 收藏
  • 关注

原创 分布式事务理论及java解决方案-超详细

前言分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布式事务来简单聊一下。数据库事务在说分布式事务之前,我们先从数据库事务说起。 数据库事务可能大家都很熟悉,在开发过程中也会经常使用到。但是即使如此,可能对于一些细节问题,很多人仍然不清楚。比如很多人都知道数据库事务的几个特性:原子性(Atomicity...

2019-09-29 19:56:58 1820

原创 RocketMQ学习 专题总结(一)

RocketMQ 专题RocketMQ 专题一1. MQ介绍1.2 MQ的优点和缺点1.3 各种MQ产品的比较2. RocketMQ快速入门2.1 准备工作2.1.1 下载RocketMQ2.2.2 环境要求2.2 安装RocketMQ2.2.1 安装步骤2.2.2 目录介绍2.3 启动RocketMQ2.4 测试RocketMQ2.4.1 发送消息2.4.2 接收消息2.5 关闭RocketMQ...

2019-09-23 14:33:58 1206

原创 JAVA与JVM调试和调优

JVM

2022-06-06 00:03:19 275 1

原创 mysql Json和BLOB类型字段,mybatis 通用TypeHandler

BlobTypeHandlerpackage com.taylor.cep.database.mybatis.typehandler;import org.apache.ibatis.type.BaseTypeHandler;import org.apache.ibatis.type.JdbcType;import org.apache.ibatis.type.MappedJdbcTypes;import java.io.ByteArrayInputStream;import java.ni

2022-01-21 10:09:08 1444

原创 基于druid-spring-boot-starter和p6spy-spring-boot-starter零代码整合druid和p6spy,实现SQL无死角监控

SQL监控依赖druid配置p6spy配置sql监控效果控制台输出sql效果依赖使用spring-boot-starter,实现零代码整合 <dependency> <groupId>com.github.gavlyukovskiy</groupId> <artifactId>p6spy-spring-boot-starter</artifactId> <vers

2021-11-18 17:13:14 1565 1

原创 文件处理 FastDFS和OSS封装

package com.XX.config.fastdfs;import com.alibaba.fastjson.JSONObject;import com.aliyun.oss.OSSClient;import com.aliyun.oss.model.OSSObject;import com.aliyun.oss.model.ObjectMetadata;import com.github.tobato.fastdfs.domain.StorePath;import com.github

2021-10-26 14:59:31 771

原创 两类雪花算法SnowflakeIdWorker 生成数据id总结

雪花算法 专题单数据源多数据源单数据源AtomicInteger 的方式/**1bit + 41bit + 17bit + 5bit| | | || | | |符合位 时间戳(毫秒) 序列号 机器码第1bit固定是0 符号位

2021-10-26 14:47:29 501

原创 Σ(っ °Д °;)っ运行时静态获取spring的bean实例,防止注入出现循环依赖

在程序中通过SpringContextHolder.getBean(XxxxService.class)可以在运行时获取beanpackage com.jeeplus.common.utils;import org.apache.commons.lang3.Validate;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.DisposableBean;

2021-06-17 15:41:26 145

原创 工具类二十一 基于JSch远程监控Linux服务器工具类

JSch 是SSH2的一个纯Java实现。它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等>。如果需要监控本机,推荐我上一篇博文工具类二十基于oshi监控服务器依赖 <!-- 流量采集工具包 --> <dependency> <groupId>org.fusesource</groupId> <artifactId>sigar</artifa

2021-04-27 10:36:35 414

原创 工具类二十 基于oshi的运行环境监控工具类

OSHI是Java的免费的基于JNA的(本机)操作系统和硬件信息库。它不需要安装任何其他本机库,并且旨在提供一种跨平台的实现来检索系统信息,例如OS版本,进程,内存和CPU使用率,磁盘和分区,设备,传感器等。如果需要远程监控,请看工具类二十一 基于JSch远程监控Linux信息依赖<!-- 获取系统信息 --> <dependency> <groupId>com.github.oshi</groupId> <artifactId&g

2021-04-27 10:26:30 1088 2

原创 工具类十九 基于QRCoder的二维码生产和解析工具类

QRCoder是开源的二维码处理包,不同于之前写的工具类十七 基于Zing的二维码工具类另外再总结之前图片处理相关的工具类如下:工具类十五 Excel加水印工具类之五 Excel转图片另外近期将总结验证码生成工具类依赖 <dependency> <groupId>QRCoder</groupId> <artifactId>QRCoder</artifactId> &

2021-04-16 10:27:14 401

原创 工具类十八 获取客户端真实IP

发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP。一般分为两种情况:方式一、客户端未经过代理,直接访问服务器端(nginx,squid,haproxy);方式二、客户端通过多级代理,最终到达服务器端(nginx,squid,haproxy);客户端请求信息都包含在HttpServletRequest中,可以通过方法getRemoteAddr()获得该客户端IP。方式一形式,可以直接获得该客户端真实IP。方式

2021-03-11 12:31:49 408

原创 SpringBoot Mybatis多数据源配置最佳实践

多数据源配置基本原理:先分别配置 DataSource,通过DataSource可以分别得到SqlSessionFactory和DataSourceTransactionManager,通过SqlSessionFactory得到SqlSessionTemplate,mybatis多数据源的原理是根据不同包,调用不同的数据源,你只需要把你的mapper.java和mapper.xml写在某个package中,springboot自动帮你实现数据源切换然后@MapperScan(basePackages

2021-03-08 15:59:14 957 3

原创 MySQL中的JSON类型应用-jackson

mysql在5.7之后有了json数据格式,其使用实践如下:xml如下两个属性字段<result column="invoice_info" jdbcType="LONGVARCHAR" property="invoiceInfo" typeHandler="com.taylor.test.mapper.typehandler.JsonArrayNodeTypeHandler" /> <result column="feature" jdbcType="LONGVARCHAR"

2021-03-01 14:46:44 625

原创 工具类之十七 基于zxing的二维码生成工具类

google 公司的 zxing使用非常方便依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.3</version> </dependency> <d

2021-03-01 11:42:33 329

原创 工具类十六 -RSA算法加解密工具类

package com.taylor.test.restful.util;import java.io.ByteArrayOutputStream;import java.nio.charset.StandardCharsets;import java.security.Key;import java.security.KeyFactory;import java.security.NoSuchAlgorithmException;import java.security.PrivateKey

2021-02-25 17:36:00 223

原创 XML报文加签,转换证书操作举例

加签证书.crt和.key文件,需要转换后才能使用,使用方法见我之前的博文常用工具类之十一 XML报文加签工具类链接加签证书配置配置中心,例:{ "keyStoreBytesBase64":"/u3+..........", "keyStoreSignPassword":"ewtp-test", "privateKey":"1", "privateKeyPassword":"ewtp"}证书格式命令转换keyStoreBytesBase64来自于转换后的证书

2021-02-25 10:38:24 433

原创 XMLSchema不支持maxOccurs大于5000的解决方法

XMLSchema not supporting maxOccurs larger than 5000,XMLSchema不支持maxOccurs大于5000的解决方法解决办法 https://stackoverflow.com/questions/16651005/workaround-for-xmlschema-not-supporting-maxoccurs-larger-than-5000;SchemaFactory schemaFactory = SchemaFactory.newInsta

2021-02-04 16:26:25 345

原创 阿里云项目实践一 PandoraBoot与CommandLineRunner

HmacSHA256和HmacSHA1签名实践阿里云开放apiimport com.taobao.pandora.boot.PandoraBootstrap;import org.apache.commons.codec.binary.Base64;import org.springframework.boot.CommandLineRunner;import org.springframework.boot.SpringApplication;import org.springframew

2021-02-03 18:04:48 794

原创 工具类之十五 excel加水印工具类

package com.taylor.query.utils;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import org.apache.poi.hssf.usermodel.*;import org.apache.poi.ss.usermodel.*;import org.apache.poi.ss.usermodel.Font;import org.apache.poi.xss

2020-12-24 15:31:37 734

原创 Spring boot使用yml文件自定义配置

通过配置,可以写自定义yml配置支持 yml 文件工厂类/** * 版权:Taylor * 描述: @PropertySource 支持 yml 文件工厂类 * 创建时间:2020年05月15日 */package com.taylor.test.service.config;import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;import org.springframework.core.

2020-12-23 10:18:25 1434

原创 常用工具类之十四 token认证加密解密工具类(javax.crypto)

/** * 版权: * 描述: 认证工具类 * 创建时间:2020年11月26日 */import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;import javax.crypto.spec.IvParameterSpec;import lombok.SneakyThrows;

2020-12-04 10:51:42 629

原创 Spring boot国际化实践I18n

基础配置package com.taylor.config.config;import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Configuration;

2020-11-30 11:00:15 432 2

原创 Spring boot下发送邮件服务

yml配置spring: application: name: XX mail: host: smtp.qq.com username: [email protected] password: default-encoding: UTF-8 properties: mail: smtp: auth: true starttls.enable: true starttls.

2020-10-28 16:22:21 378

原创 Spring boot下配置Rest Template跳过SSL证书验证封装

配置 SimpleClientHttpRequestFactory/** * 公司 * <p> * 2020年10月23日 */package com.taylor.test.rest.config;import org.springframework.http.client.SimpleClientHttpRequestFactory;import javax.net.ssl.*;import java.io.IOException;import java.net.Ht

2020-10-28 15:45:48 1695 2

原创 工具类之十三 Zip格式压缩工具类(apache.ant)

package com.taylor.zip.common.util;import lombok.extern.slf4j.Slf4j;import org.apache.commons.io.IOUtils;import org.apache.commons.io.output.ByteArrayOutputStream;import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipOutputStream;impo

2020-10-28 15:34:00 317 1

原创 常用工具类之十一 XML报文加签工具类 http://www.w3.org/2000/09/xmldsig

支持Signature封装和嵌入模式加签package com.taylor.xml.customs.datahub;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.I

2020-10-26 11:08:51 6147 1

原创 常用工具类之十二 Jaxb转换xml工具类,生产优化版

相对之前写的进行简化和优化 Jaxb工具类生产版,使用JDK自带xjc命令从xsd生成的java类,包含了xsd验证,安全转换xml.xjc Xx.xsd -p com.taylor.jaxb com.taylor.jaxb为生成的java类的包名 或者java -Dfile.encoding=UTF-8 -cp "C:\Program Files\Java\jdk1.8.0_191\lib\tools.jar" com.sun.tools.internal.xjc.Driver -p com.

2020-10-26 10:52:50 394 1

原创 常用工具类之十 -使用lamda定制对象转换

增强 spring自带的属性复制工具类package com.taylor.utils;import org.springframework.beans.BeanUtils;import java.util.ArrayList;import java.util.List;import java.util.function.BiConsumer;import java.util.function.Supplier;/** * SuperBeanUtils * * @author ta

2020-09-15 12:36:33 164

原创 spring cloud alibaba实用攻略一 Gateway中基于ThreadLocal实现Controller参数的AOP注解注入

文章目录ReactiveRequestContextFilterReactiveRequestContextHolder自定义注解及基于注解的AOP处理需要注入的信息枚举自定义注解aop切面项目在GateWay服务中集成了权限认证以及用户信息等接口,需要经常使用Headers里的信息,但reactor环境下没有实现类似于mvc环境下的RequestContextHolder。通过ReactiveRequestContextFilter获取ServerHttpRequest,结合ThreadLocal实现了

2020-09-11 10:17:34 2566 3

原创 spring cloud alibaba实用攻略一 Gateway响应式实战案例

Gateway实战案例NACOS配置集成基于security oauth2 开发的4A系统配置服务路由应用支撑程序配置类跨域错误处理配置记录信息类网关日志记录配置ip限流配置redis配置关于集成权限部分内容较多下次再写Gateway最佳实践配置server: port: 5020spring: application: name: test-gateway cloud: nacos: discovery: namespace: 645ca

2020-09-10 16:12:31 958

原创 jackson序列化时的bug

springboot使用默认的jackson在序列化实体为json字符串时的问题,属性名只有大小写差异时,后面的会被忽略public static void main(String[] args) throws JsonProcessingException { TestVO testVO = new TestVO(); ObjectMapper mapper = new ObjectMapper(); System.out.println(mapper.

2020-09-09 15:42:47 734 2

原创 javaSE语法踩坑(一)--深入理解java数据类型和运算符

基础语法一些容易忽略的语法1.标识符一般遵循以下规则以下规范小知识2.关于标识符重名方法名重载(overload) 和重写(override)需要注意隐藏(hide)注意遮蔽(shadow)遮掩(obscure)3. 关于数据类型4. 关于运算符注意&用作交集类型5.switch注意点一些容易忽略的语法来聊一聊我在java学习中发现的一些大家都没注意到的语法点,冷门但很有趣1.标识符定义:凡是自己可以起名字的地方都叫标识符。涉及到的结构:包名、类名、接口名、变量名、方法名、常量名一般遵

2020-09-04 13:09:32 195

原创 javaSE语法踩坑(二) -深入理解java的面向对象

面向对象的关键字关于数组属性与变量方法多态重载JVM在重载方法中,择合适的目标方法的顺序如下(越精确越优先):可变形参参数传递this/super与继承继承与修饰符的关系:类及实例初始化顺序类的主动引用时发生类初始化类的被动引用初始化过程Java初始化时可以向前引用:例子:JAVA主类中语句执行顺序接口与内部类接口内部类:在上一篇语法踩坑之后,终于有空继续总结我遇到的冷门易错语法,可以解决我们遇到的绝大部分问题。如果还有什么特殊情况,可以参阅《Java Puzzlers》,《Java语言规范 基于 Jav

2020-09-03 17:59:52 365

原创 Java中涉及的15种锁总结

Java中15种锁的介绍!在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:公平锁 / 非公平锁可重入锁 / 不可重入锁独享锁 / 共享锁互斥锁 / 读写锁乐观锁 / 悲观锁分段锁偏向锁 / 轻量级锁 / 重量级锁自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,的指锁的特性,的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。公平锁 / 非公平锁公平锁是指多个线程照申请锁的顺序来获取锁。(消除了随机性)非公平锁是

2020-09-03 11:31:19 238

原创 常用工具类之九 大数据量批量插入/修改sql效率优化,及解决sqlserver最大参数2100的问题 (基于springboot及mybatis)

调用方法工具类用到了google的guava包,依赖如下<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>24.0-jre</version> <scope>compile</scope&g

2020-08-26 14:23:48 1883

原创 sqlsever高并发下死锁解决

今天业务在高并发下出现了死锁问题,sqlseversql重现,开启两个窗口执行.其中一个会在第二次select时报死锁.Begin Transaction;SELECT * from t_export_inventory_head WHERE agent_code = '1122334455' and cop_no = 'Cop20200817001';Waitfor Delay '00:00:10';UPDATE t_export_inventory_head SET rem

2020-08-24 18:05:23 707 1

原创 关于存储过程/函数/insert select/update select JOIN的sql应用例子

今天,有两张表需要互相同步数据,1对多的形式,写了一个过程,用到了存储过程/insert select/update select JOIN等复杂SQL,花了些时间,数据库是sqlserver,其他库写法有微调.先记录如下:ALTER PROCEDURE [dbo].[proc_export_order_return]ASBEGIN DECLARE @code nvarchar(1000); DECLARE @return_status nvarchar(10); DECLARE @retu

2020-08-20 13:32:17 289

原创 常用工具类之八 基于POI实现Excel转Html(支持xls,xlsx会自动转为xls)

使用了poi的ExcelToHtmlConverter,原方法只支持xls。写了 *public static void transformXSSF(XSSFWorkbook workbookOld, HSSFWorkbook workbookNew)*手动进行转换;原来的多sheet是并列展示,考虑到实际写了js进行标签切换;可手动对样式进行调整。/** * 版权: taylor * 描述: excel转html * 创建时间:2020年08月17日 */package com.tayl

2020-08-17 17:28:30 1986

原创 关于HttpServletResponse与RestController

当调用response.getOutputStream()后一些有趣的事,之后不管发生什么,body的数据只与调用outputStream.write(…)有关;1.如果return null则一切正常,Content-Type不会被改为application/json;charset=UTF-8.2.如果正常关闭了ServletOutputStream且之前设置了Content-Type不是application/json;charset=UTF-8,后有其他的 return XXX(非null),

2020-08-17 10:48:21 1115

QRcode的jar包.rar

基于QRCoder的二维码生产和解析工具的jar包,使用方法:https://blog.csdn.net/weixin_44774463/article/details/115750010

2021-04-16

分布式事务专题总结.pdf

学习了分布式事务的基础理论,以理论为基础,针对不同的分布式场景业界常见的解决方案有2PC、 TCC、可靠消息最终一致性、最大努力通知这几种。

2019-09-23

空空如也

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

TA关注的人

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