- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 Mybatis Generator Maven Plugin 改进
近期为了统一前后端开发工具,将IDE换成了VS Code,但是发现VS Code 没有比较好用的Mybatis Generator插件,于是只能选择使用官方提供的Mybatis Generator,官方插件提供了Ant、Maven、Java Code、Eclipse Plugin四种使用方式,我的项目用的是Maven,因此可选的就是Maven和Java Code两种方式,为了减少代码开发和使用配置的方式来使用工具,因此选择了Mybatis Generator Maven Plugin。
2022-09-16 17:12:45 1883
原创 Spring Integration-Message Endpoints概念介绍
Message Endpoints概念介绍Spring Integration是基于管道-过滤器架构的,Message Endpoint是过滤器中的一部分。在简介中提到过,endpoint主要是用来关联框架与应用业务代码的,就像MVC模型中controller只需要与url绑定即可获取到请求数据进行业务处理一样,endpoint只需要与message channel进行映射即可。这里将与同学们共同学习Spring Integration提供的一些Endpoint类型。
2022-03-21 22:41:07 5423
原创 Spring Cloud Gateway-自定义断言及过滤器
Spring Cloud Gateway-自定义断言及过滤器在使用Spring Cloud Gateway的过程中,除了使用其内置的断言和过滤器外,有时候可能还需要实现一些特定的业务,这种情况下我们需要自定义实现断言及过滤器,这篇将为同学们介绍一下怎么在Spring Cloud Gateway中实现自定义断言及过滤器。自定义断言实现自定义断言,需要实现RoutePredicateFactory接口并实例化为Spring Bean,也可以通过继承AbstractRoutePredicateFactory
2022-03-15 10:37:15 1634
原创 Spring Cloud Gateway-安全及其他配置
Spring Cloud Gateway-安全及其他配置Spring Cloud Gateway作为网关,除了提供了内置的一些常用的服务转发能力和报文修改能力以外,还有一些其他的能力,比如安全、监控等。本节为大家介绍安全及其他配置。TLS及SSL配置网关通过配置Spring Server的相关参数即可方便的实现监听HTTPS请求,如下示例:server: ssl: enabled: true key-alias: mykey key-store-password: **
2022-03-10 17:59:53 5687
原创 SonarQube 扫描 接入方式
SonarQube 接入方式SonarQube包含多种接入方式,这里提供常用的几种接入方式说明:Jenkins集成方式Maven集成方式直接扫描方式无论采用哪种集成方式,首先需要在sonar服务中生成授权token:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xn3oDQjd-1646623613508)(./images/generate_token.png)]Jenkins集成方式Jenkins集成具体实现方式包含两种:通过Jenkins的Job
2022-03-07 11:28:54 1258
原创 Spring Cloud Gateway-全局过滤器
Spring Cloud Gateway-全局过滤器在过滤器中为大家介绍了一些与路由同时配置的过滤器,并且在配置时可以通过spring.cloud.gateway.default-filters实现所配置的过滤器全局生效。本节为大家介绍几个不需要配置在default-filters中就全局生效的过滤器。GlobalFilterGlobalFilter 是用来定义全局过滤器的接口,通过实现GlobalFilter接口可以实现各种自定义过滤器。有多个拦截器时通过Ordered接口实现getOrder(
2022-03-03 10:30:59 1511
原创 Jenkins集成SonarQube安装介绍
SonarQube安装介绍依赖组件版本要求组件7.7及以下7.8及以上JDK811Mysql支持(5.6/5.7)不支持PostgreSQL支持支持Sql Server支持支持Oracle支持支持详细支持版本见官方说明安装介质准备SonarQube下载地址:最新版7.7版sonar配置(conf/sonar.properties)修改数据库配置sonar.jdbc.username=sonarqubesonar.
2022-03-02 12:43:04 4700
原创 Spring Cloud Gateway配置详解-过滤器
Spring Cloud Gateway-过滤器本节将为大家详细介绍Spring Could Gateway 内置过滤器相关内容。Spring Cloud Gateway 过滤器为大家提供了修改特定路由中的http请求和响应的能力,默认提供了31种过滤器,基本满足大家的各种场景需求.基本配置过滤器的配置分为两种方式,一种是通过配置文件的方式(此方式有简化配置模式及详细配置模式两种,同断言,不再详述),一种是通过编码的方式。
2022-02-28 11:44:27 3822
原创 记springfox-swagger 3 与spring boot 2.6.0集成时的一个异常
今天在集成spring-boot 2.6.2与springfox-swagger时有一次碰到了下边的错,其实这个错在之前已经遇到过了,并且用后边的配置解决掉了,但是今天在一个新项目中又出现了,通过使用相同的配置并不生效。16:42:00.994 [main] ERROR o.s.b.SpringApplication [line:819] - Application run failedorg.springframework.context.ApplicationContextException:.
2022-02-18 16:46:58 1192
原创 Spring Cloud Gateway配置详解-断言
在简介中简单介绍了Spring Cloud Gateway的配置方式和开发方式,本节将详细介绍其配置内容。配置模式简化配置模式简化配置是将路由的断言配置进行了简化,路由以id进行分组,每组配置中的匹配规则以列表方式配置,每条规则以“=”分隔,左侧是路由断言名称,右侧是此断言的参数,如下官方示例(通过Cookie值匹配转发路由):spring: cloud: gateway: routes: - id: after_route #路由分组ID u
2022-02-15 14:30:06 1197
原创 MongoDB 数据采集
MongoDB的ChangeStream为用户提供了非常便利的获取变化数据(CDC)接口,在这里为大家提供一种使用思路和实现方式。
2022-01-26 18:05:24 1275
原创 GreenPlum工具gpload安装指南
一、介质准备Gploader介质需从官方下载,下载地址:Download VMware Tanzu™ Greenplum® — VMware Tanzu NetworkGreenPlum6.0及之后的版本loader与client合并在了一起,因此只需要根据操作系统下载client的相应介质:在6.0之前的版本中client与loader是分开的,因此要分别下载client和loader的介质:二、安装过程gpload依赖于python2.7,因此首先要在环境中安装python.
2021-11-01 11:30:37 2162
原创 GreenPlum及PostgreSQL使用CopyManager装载数据
我们在使用数据库时经常会遇到需要进行数据导入导出的操作,近期使用刚好用到了GreenPlum,因为GreenPlum实际就是对PostgreSQL的封装,所以此经验适用于PostgreSQL及GreenPlum。
2021-10-22 15:08:05 13025
原创 获取PostgreSQL及GreenPlum表字段信息的方法
在PostgreSQL和GreenPlum中获取字段信息的方法是相同的,通过以下的SQL可以获取表字段的基本信息,但是由于serial这种特殊字段类型的存在,一条SQL无法获取完整信息,需要一些判断逻辑才能得到serial类型,为了减少重复造车,可以用Driver的PgResultSetMetaData 来方便的获取一些通过SQL无法直接获取的信息。select c.relname table_name, a.attnum column_id, a.attname column...
2021-10-20 08:58:55 771
原创 @ConfigurationProperties 使用内部类问题记录
我们经常要使用@ConfigurationProperties来注入自定义配置,但是当配置规则复杂的情况下有时需要定义多个类来映射配置,此时就遇到一个问题,是将这些类单独定义还是以内部类的方式来定义。 我选择使用内部类,理由是:方便管理和维护。 在使用内部类的方式时遇到了一个问题,配置无法注入,于是在网上各种查找,结果无功而返。后来想起来Datasource的配置就是一个相对复杂的配置,于是去看它是怎么实现的,后来发现采用这种方式定义时需要将内部类定义为p...
2021-09-09 12:24:41 2708
原创 SQL Server开启CDC
1、启动sqlagent权限:root(或sudo)启动过程:#设置sqlagent为 sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true #需要重启服务生效 sudo systemctl restart mssql-server2、开启数据库CDC权限:sysadmin开启过程:#开启数据库CDCif exists(select 1 from sys.databases where name='数据库名'
2021-09-08 11:30:40 1347
原创 Spring Cloud Gateway-简介及基础应用
Spring Cloud Gateway是基于Spring WebFlux实现的网关组件,它的目标是提供一个简单、高效的API路由方式,并提供相应的安全、监控和故障恢复能力。
2021-06-15 17:40:30 496
原创 Caused by: java.lang.NoClassDefFoundError: org/hibernate/engine/spi/SharedSessionContractImplementor
今天在升级项目中依赖的开源jar版本时遇到了一个异常:Caused by: java.lang.NoClassDefFoundError: org/hibernate/engine/spi/SharedSessionContractImplementor经过排查发现是jackson的版本与hibernate版本不兼容造成的,修改hibernate版本和jackson的版本为兼容版本即可。在排查问题的过程中发现,如果spring的版本和hibernate版本不兼容时也会出现此问题。...
2021-05-06 15:09:27 599
原创 开启ElasticSearch用户安全校验
(1)进入ElasticSearch安装目录,在config/elasticsearch.yml文件添加以下配置开启安全校验:xpack.security.enabled: true(2)进入ElasticSearch安装目录,执行以下命令设置elastic用户的密码:./bin/elasticsearch-setup-passwords interactive(3)其他安全配置可参考https://www.elastic.co/guide/en/elasticsearch/refe
2021-04-23 18:16:16 300
原创 Log4j1.X 设置日志文件权限
背景在一个客户那边要求系统生成的日志文件权限为600,而系统用的是Log4j1.X来记录日志的,默认权限是644。解决办法解决此问题需明确两点即可解决:1、在哪里去设置日志文件权限?2、如何设置日志文件权限?对于第一个问题,会用Log4j的同学应该都知道我们可以自定义Appender来控制日志输出相关很多事情,当然包括输出的目标文件,那么就可以确定我们是可以通过自定义Appender来处理这个问题。接下来是第二个问题,如何设置日志文件权限。大家知道一般要求控制文件权限都是在Lin
2021-03-29 16:37:03 2064
原创 spring boot 设置spring.http.multipart.maxFileSize无效问题解决办法
今天又遇到一个奇怪的问题,明确记得原来配置有效的参数现在无效了,因为原来加这个参数就是为了解决默认配置造成的问题,所以确定原来是生效的,这个参数就是:spring: http: multipart: maxFileSize: 50Mb maxRequestSize: 100Mb上网查了一下,有说不同spring boot版本配置不同的,有说配置参数单位配错的。针对这两种说法都做了对比和测试,最终排除了这两种原因,没办法只好采用不快捷但最有效的方式去解决问
2021-03-26 17:23:42 9556
原创 屏蔽spring security的默认登录页
标题大家在使用spring security时会默认带入一个登录页,而这个登录页大家往往都是不想要的,今天通过调试代码跟踪了对内部DefaultLoginPageConfigurer的各种配置后发现,不好使!!!开始的时候用了url覆盖的方式,即添加一个匹配/login的controller,但是采用这种方式会造成正常的登录请求无法访问。@Controllerpublic class LoginPage { @GetMapping("/login") public void.
2021-03-26 14:16:13 7983 5
原创 spring-boot-starter-data-jpa 采坑记录 @EntityScan @Entity @Repository
JPA采坑记录背景遇到的问题1. Field xxxRepository in XXX required a bean of type 'XXXRepository' that could not be found.背景最近在负责一个老产品的维护升级工作,此产品是个高龄产品,据说已经超过了十岁,产品代码结构中有公司自研的内容(已经无人维护),有spring 2.X的版本,有spring 4.X的版本,有ibatis也有jpa。为了降低以后维护升级工作的难度,决定对产品代码做一次重构,去掉无法维护的自
2021-03-24 15:36:36 945
原创 ESB - 在当前微服务,云服务大行其道的时刻,如何看待网关与esb之争,esb是否已到暮年
在当前微服务,云服务大行其道的时刻,如何看待网关与esb之争,esb是否已到暮年。今天发现一篇文章,解答了不少疑惑,可以做个参考https://mp.weixin.qq.com/s/QK0jQ8XZ0uDbi9O_8eHOog
2020-08-01 09:20:35 259
原创 Spring Boot统一异常处理
在使用Spring Boot时,我们可以方便的使用以下两种方式实现一、@ControllerAdvice //示例:@ControllerAdvicepublic class ExceptionControllerAdvice { /** * 全局异常捕捉处理 * @param exception * @return * @throws RestApiEx...
2018-06-21 11:07:13 274
原创 Netty实现简单的HttpProxy(ihai-http-proxy)
第一次使用Netty,简单又复杂,经过一个星期的努力,终于完成了ihai-http-proxy基本能力。一、目标为了实现IHai-MicroService中的注册中心及网关,以HttpProxy为切入点学习Netty的架构模式,了解如何处理请求数据及响应数据。此项目主要是为了验证及学习以下关键点:1、Netty服务的创建2、在Netty框架中如何对传入传出数据进行获取3、HTTP请求在Netty框...
2018-05-21 17:40:25 7642 4
原创 IHai-MicroService
之前说要写点东西和大家共同学习微服务的东西,一晃3个月过去了,中间有出差2个月,但最重要的还是自己以前没有写东西的习惯,这里给大家道歉了,下边我将努力坚持把这个事情做下去。一、简介当今的IT世界中AI、区块链、微服务无人不知无人不谈,对于AI及区块链本人比较感兴趣但由于本职工作与其尚无交集,通过各位大牛专家们的宣传大概能理解其理论价值,但如何实际落地就完全没有头绪了;而在自己的工作中从14年开始接...
2018-05-14 11:04:00 504 1
原创 微服务架构探讨
做Java开发近八年时间了,从原来的单体应用到分布式应用再到现在的微服务架构都算是做过了,从只关心开发到整体架构设计也都算是接触过,从今天开始以后不定期将自己对微服务各个方面写出来以备勘误,如果有幸能被他人所用或对他人有所帮助将更加荣幸。后期将从以下方面与大家共同探讨:1、API Gateway2、鉴权3、服务注册4、服务管理5、配置管理6、通讯框架7、事物8、
2018-02-04 13:47:03 266
ihai-mybatis-generator-maven-plugin
2022-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人