
Spring-cloud
zhuwei_clark
还行吧
展开
-
Request processin g failed; nested exception is feign.RetryableException: too many bytes written
错误信息:2020-09-08 14:07:14.718 ERROR 16146 --- [io-12000-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is feign.Re原创 2020-09-08 14:14:55 · 1468 阅读 · 0 评论 -
openFeign服务之间调用保持请求头信息处理
1、注意特殊情况,在定时任务或者内部之间调用,没有request的时候,不要处理直接返回。2、在GET请求,参数确放在Body里面传递的情况,restTemplate是不认识的,所以这里要转化下处理,然后清空body数据/** * 解决服务调用丢失请求头的问题 * @author 大仙 * */@Componentpublic class FeignConfiguration implements RequestInterceptor{ private final Logge.原创 2020-09-08 13:48:04 · 2314 阅读 · 0 评论 -
Refused to display in a frame because it set 'X-Frame-Options' to 'DENY'
解决方法如下: @Override public void configure(HttpSecurity http) throws Exception { //禁用csrf http.csrf().disable() .formLogin().permitAll() .and().httpBasic(); ...原创 2019-08-15 23:54:07 · 813 阅读 · 0 评论 -
spring boot2.1.X The bean 'clientDetailsService', defined in XX,could not be registered
今天在升级spring boot2.1.2的时候出现如下异常Description:The bean 'clientDetailsService', defined in com.codeus.wecode.service.DBClientDetailsService, could not be registered. A bean with that name has already ...原创 2019-08-12 13:44:38 · 3966 阅读 · 1 评论 -
spring cloud 集成TX-LCN5.0.2使用LCN模式实现分布式事务
各位童鞋注意啦,5.0.2的版本在多节点下是存在问题的,解决方法:https://blog.csdn.net/zhuwei_clark/article/details/103711929项目源码地址:https://github.com/daxian-zhu/online_edu对于微服务化的趋势,分布式事务是一个绕不去的坎,现在有很多开源的软件tx-lcn,byte-tcc,seat...原创 2019-07-31 16:33:57 · 8199 阅读 · 21 评论 -
spring cloud zuul+oauth2+config+lcn微服务架构和项目实现
项目架构图如下:项目地址:https://github.com/daxian-zhu/online_edu如果觉得有点帮助的,请点个star,后期会不断完善原创 2019-07-23 20:45:25 · 498 阅读 · 0 评论 -
zuul代理丢失Authorization
参考文章:https://blog.csdn.net/f45056231p/article/details/90370827里面有比较详细的原因介绍,我这里简单的总结下:zuul在代理转发的时候,需要对请求头进行重组,过滤掉所有的敏感信息,以下头信息都是敏感信息:Authorization,Cookie,Set-Cookie,host,connection,content-lengt...原创 2019-07-22 17:28:56 · 1456 阅读 · 0 评论 -
Spring Cloud oauth2 - Cannot convert access token to JSON
出现这个主要是资源服务器配置,设置如下即可:converter.setVerifierKey(publicKey);//不设置这个会出现 Cannot convert access token to JSONconverter.setVerifier(new RsaVerifier(publicKey));完整的配置如下 @Bean("resJwtAccessTokenCon...原创 2019-07-22 13:53:31 · 16215 阅读 · 3 评论 -
annotation.web.configurers.ExpressionUrlAuthorizationConfigurer@5a88849 to already built object
今天在做权限配置的时候遇到一个很坑的问题,其实就算解决了我也不知道什么原因咯,异常情况如下:Caused by: java.lang.IllegalStateException: Cannot apply org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfi...原创 2019-07-22 10:11:45 · 1575 阅读 · 2 评论 -
spring cloud oauth2系列篇(三)password模式获取access_token
项目的源码地址:https://github.com/daxian-zhu/online_edupassword模式和上一篇文章的代码是一致的:https://blog.csdn.net/zhuwei_clark/article/details/96174086访问方式稍微有点不一样http://localhost:9004/oauth/token?grant_type=pass...原创 2019-07-16 20:20:45 · 980 阅读 · 0 评论 -
spring cloud oauth2系列篇(二)深入authorization_code授权码模式完整实现
项目的源码地址:https://github.com/daxian-zhu/online_edu项目是最新的,文章可能不是最新的这里先简单的介绍项目,不然有的地方可能我表达不清楚容易造成误解online_edu||----online_edu_com 公共模块,存放公共实体,枚举,工具类等||----online_edu_config 配置中心,基于sp...原创 2019-07-16 20:10:56 · 2700 阅读 · 1 评论 -
spring cloud oauth2系列篇(一)入门authorization_code授权码模式内存实现
项目的最新地址:https://github.com/daxian-zhu/online_edu说到oauth2其实很多人都不陌生,很多大的开放平台的API接口的认证都是使用的oauth2实现的,本文主要是结合spring cloud来简单的说下,如果有什么不对的地方大家可以指出来。先说下我这里使用的spring boot和spring cloud的版本 <!-- spring...原创 2019-07-16 17:42:48 · 1634 阅读 · 0 评论 -
spring cloud 问题记录(十六) 使用Feign跨服调用时header请求头中的信息丢失
写这篇帖子呢其实是因为昨天(2019年7月4号)我同事(大牛)遇到的一个BUG,我也就跟着学习了下。 情况呢很简单,我们项目的权限验证使用的keycloak,而验证体系继承在了gateway,获取用户信息的时候。而用户的部分信息是直接通过gateway获取之后,使用header的方式传输给服务的。而同事在使用A服务调用B服务的时候,发现从request里面获取不到...原创 2019-07-05 10:10:40 · 4166 阅读 · 3 评论 -
spring cloud 问题记录(十五) Unauthorized grant type: authorization_code
在使用授权码的方式获取code的时候出现如下异常:org.springframework.security.oauth2.common.exceptions.InvalidClientException: Unauthorized grant type: authorization_code at org.springframework.security.oauth2.provider.t...原创 2019-07-03 11:49:15 · 7802 阅读 · 2 评论 -
spring cloud 问题记录(十四)spring 5 redis set的方法问题
在使用spring 5 配置oauth2的启动时候出现如下异常Caused by: java.lang.NoSuchMethodError: org.springframework.data.redis.connection.RedisConnection.set([B[B)V at org.springframework.security.oauth2.provider.token.st...原创 2019-07-03 11:36:54 · 536 阅读 · 0 评论 -
spring cloud 问题记录(十三)authenticationManager无法注入问题
在配置spring cloud security的过程中出现如下异常信息导致无法启动项目Field authenticationManager in com.clark.online.edu.config.AuthorizationServerConfig required a bean of type 'org.springframework.security.authentication...原创 2019-07-01 10:44:17 · 11906 阅读 · 7 评论 -
spring cloud 问题记录(十二)springsecurity Cannot load keys from store: class path resource [kevin_key.jks]
今天在使用jwt的方式实现spring cloud security的安全验证的时候,出现一个奇怪的异常Cannot load keys from store: class path resource [kevin_key.jks]java.io.IOException: Invalid keystore format从错误堆栈信息中可以看到,是秘匙对文件格式错误。但是并没有对文件...原创 2019-06-24 17:43:35 · 14470 阅读 · 4 评论 -
spring cloud 问题记录(十)spring cloud config配置中心2种刷新方式
再不重启的情况更新配置属性,是配置中心的目的。在小的项目上面如果没有条件构建apollo这种大型的配置中心集群。那么spring cloud config无疑是一种不错的选择。那么spring cloud config提供了2种刷新方式1:config server端刷新(全局刷新)首先在服务端暴露出相应的刷新接口:#暴露刷新接口management: endpoints: ...原创 2019-06-18 10:59:19 · 644 阅读 · 0 评论 -
spring cloud 问题记录(十一)网关不能加载相应的服务的问题
在启动eureka,config,gateway,业务应用的时候,突然之间遇到一个很懵逼的问题。通过网关访问业务应用居然报404错误,分析原因。1:地址错误检查地址:排除2:端口错误:检查端口:排除3:检查gateway的路由规则和业务应用:检查:排除。后来去查看gateway的启动类@EnableZuulServer@EnableEurekaClient...原创 2019-06-18 10:27:25 · 1433 阅读 · 0 评论 -
spring cloud 问题记录(九)spring cloud config配置加载多个配置文件
在配置仓库我们可能会根据需要将配置分成很多种,例如公共的配置,例如应用独有的配置,例如数据库database的配置,例如redis的配置等等如图,可能common的配置在每个应用中都会用到,所以这里单独提炼出来,那么怎么在客户端使用2个配置呢spring: application: name: public-gateway cloud: config: ...原创 2019-06-17 17:47:03 · 4497 阅读 · 3 评论 -
spring cloud 问题记录(八)spring cloud config 配置中心指定本地缓存路径
在很多情况下,我们不希望使用默认的的缓存路径,spring cloud config是提供了指定缓存路径的功能spring: application: name: public-config cloud: config: server: git: uri: https://git.zhubanxian.com/zhu/o...原创 2019-06-17 17:03:42 · 3381 阅读 · 0 评论 -
spring cloud 问题记录(七)配置中心属性配置不更新的问题
在更新配置文件,并且提交到git上面去,调用刷新的接口http://localhost:9002/actuator/bus-refresh重新请求业务接口,发现数据没有刷新。一脸懵逼的开始找原因:1:首选怀疑是否刷新的问题,所以查看本地缓存文件。结论:本地缓存文件已经刷新。2:重启业务应用试试是否生效,这个时候居然报错了java.nio.charset.Malfor...原创 2019-06-17 17:01:03 · 1385 阅读 · 1 评论 -
spring cloud 问题记录(六)配置中心报错Cannot pull from remote XX.git the working tree is not clean.
在使用配置中心拉取配置文件的时候,有时候总会遇到很多让人很郁闷的问题,如果本地缓存文件被更改的时候就会遇到以下问题: Cannot pull from remote https://git.zhubanxian.com/zhu/online_edu_config.git, the working tree is not clean.而我遇到这个问题的原因就是因为吧本地的缓存给删了。其...原创 2019-06-17 16:47:33 · 2955 阅读 · 1 评论 -
spring cloud 问题记录(五)Eureka各项配置属性说明
Eureka包含四个部分的配置instance:当前Eureka Instance实例信息配置 client:Eureka Client客户端特性配置 server:Eureka Server注册中心特性配置 dashboard:Eureka Server注册中心仪表盘配置那么一般的server配置如下eureka: instance: #以IP地址注册到服务中心,相...原创 2019-05-28 14:04:29 · 695 阅读 · 0 评论 -
spring cloud 问题记录(四)info接口的返回内容设置
我们上一篇博客说了怎么显示为IP端口的形式。那么我们可以看到,这个地方是可以进行点击查看的。如果我们没有进行设置的话,返回的内容其实是一个{}。那么一般我们会把应用的一些信息进行设置,这样在大量服务的情况下,我们能更好的知道部署的项目的内容。现在我们来配置info接口info: app.name: ${spring.application.name} compa...原创 2019-05-28 14:01:19 · 1988 阅读 · 0 评论 -
spring cloud 问题记录(三)设置服务在Eureka注册中心里面显示为IP加端口的形式
在我们打开注册中心的web界面的时候,是可以看到现在连接注册中的服务的,但是显示的信息缺失机器名称加端口的形式,通常IP的形式能更好的理解,所以我们都希望如下图显示。设置如下:eureka: instance: #使用IP注册 prefer-ip-address: true #ip-address: 192.168.1.1 #强制指定IP地址,默认会获取本机的...原创 2019-05-27 17:57:52 · 1853 阅读 · 0 评论 -
spring cloud 问题记录(二)org.apache.http.conn.ConnectTimeoutException: Connect to localhost:8761 timed ou
在启动eureka的之后,启动其他的eureka的服务注册进来之后会出现如下的异常Caused by: org.apache.http.conn.ConnectTimeoutException: Connect to localhost:8761 timed out at org.apache.http.conn.scheme.PlainSocketFactory.connectSocke...原创 2019-05-27 17:53:50 · 16731 阅读 · 0 评论 -
spring cloud 问题记录(一)eureka启动报Cannot execute request on any known server
使用spring cloud也快2年了,从1.5X到现在2.x其实使用过程一直会遇到很多问题,都没有怎么细节的去整理过。最近正在重构一个项目,正好细心的整理一遍。com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server at com.netfli...原创 2019-05-27 14:33:12 · 486 阅读 · 0 评论 -
spring cloud zuul增加header传输
在使用OAuth2.0传输权限认证,为了再调用其他的项目的时候获取token,必须在token下传到其他各个服务@Componentpublic class KeyUserFilter extends ZuulFilter { private static final Logger logger = LoggerFactory.getLogger(KeyUserFilter.cl...原创 2019-05-15 12:07:05 · 1617 阅读 · 0 评论 -
spring cloud -分布式服务调用链跟踪整合Zipkin、RabbitMQ
相关的Jar的引入 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-sleuth-zipkin-stream</artifactId> </dependency> <!-- ...原创 2019-04-12 17:04:43 · 478 阅读 · 0 评论 -
spring cloud 配置中心-基于spring cloud bus(2)--项目构建
spring boot的版本为1.5.8 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.8.RELEASE<...原创 2019-04-10 17:19:19 · 135 阅读 · 0 评论 -
spring cloud 配置中心-基于spring cloud bus(1)--rabbitMq的安装(CentOS7.X)
wget http://www.rabbitmq.com/releases/erlang/erlang-18.1-1.el6.x86_64.rpmrpm -ihv erlang-18.1-1.el6.x86_64.rpmyum install socatwget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitm...原创 2019-04-10 14:10:01 · 153 阅读 · 0 评论 -
spring boot使用Redis分布式锁实现分布式环境下定时任务的管理
我们有很多时候都需要一些定时任务的辅助,大多数情况,定时任务都可能是写到一个服务节点。但是可能存在以下情况: 但是如果业务逻辑过于复杂的话,不好维护。 如果服务节点挂了,那么所有的定时任务都不会执行了。 如果在微服务的体系里面,我个人感觉定时任务还是跟着服务本身走维护要方便,而且对于业务开发人员也比较方便。而且通常的情况下我们的服务都是采用分布式多节点的方式...原创 2018-11-02 15:07:50 · 4804 阅读 · 5 评论 -
Spring boot集成websocket实现分布式websocketsession共享(一)--基于redis的发布订阅
本文主要是针对分布式场景下的使用websocket的一个解决方案。我们以下面的图来说明下业务使用场景。 针对如图的情况,很多人第一时间想到的是websocket的session共享,这是大多数的第一反应。很遗憾的是,websocketsession是不支持序列化操作,所以也就不可能存在redis中。那么我们有什么其他的方式解决呢。 我们知道在单节点中我们只需要吧websockets...原创 2018-10-30 21:09:26 · 25764 阅读 · 50 评论 -
Spring Cloud项目前后端分离跨域问题解决
跨域问题,其实百度上面有一堆的解决方案,针对普通的情况其实百度上面的方案都是可行的。我这里主要介绍2种情况。当然我这里的配置都是基于网关的,而不是基于服务的。1、没有增加权限验证。2、增加了spring security的权限验证(我这里是基于keyCloak),增加了Authorization 首先我们介绍第一种情况的解决方法,这个很简单,只需要在启动类里面配置过滤器就可...原创 2018-10-26 14:00:52 · 2110 阅读 · 4 评论 -
Request method 'GET' not supported的其它原因
今天遇到一个奇葩错误{ "timestamp": 1540465525104, "status": 405, "error": "Method Not Allowed", "exception": "org.springframework.web.HttpRequestMethodNotSupportedException", "me原创 2018-10-25 19:12:24 · 16424 阅读 · 3 评论 -
LCN基于Spring cloud2.0实现分布式事物管理(二)项目结合
这里启动三个项目,一个发起方,也就是我们常说的消费者,二个参与方,也就是我们常说的提供者,数据库的处理方式采用jpa的方式,这个用mybatis,hibernate都不影响。项目结构如下:具体的搭建的方式这里就不讲解,这里先把hystrix给去掉,下一篇讲解存在hystrix的情况,采用一个简单的例子,这边要创建用户并且要给这个用户赋予相应的权限。vts_sc_lcn_jpa : ...原创 2018-09-25 12:04:55 · 1712 阅读 · 0 评论 -
LCN基于Spring cloud2.0实现分布式事物管理(一)LCN的修改和部署
官网地址:http://www.txlcn.org/git地址不支持2.0:https://github.com/codingapi/tx-lcn/支持2.0的修改版地址:https://download.csdn.net/download/zhuwei_clark/10685627首先,对项目进行编译,装好maven环境,jdk环境。命令如下,注意这里需要jdk1.8以上mvn...原创 2018-09-25 11:48:44 · 6052 阅读 · 10 评论 -
Spring cloud在网关常用签名验证方法
一般在做接口请求的时候为了保证参数的一致性和防止有人利用正确的参数做大量的重复请求,一般都会做签名验证。在spring cloud的项目一般是在网关,利用过滤器的方式进行验证。public class SignFilter extends ZuulFilter{ @Override public Object run() throws ZuulException { // T...原创 2018-09-11 16:41:25 · 8225 阅读 · 0 评论 -
logback.xml和logback-spring.xml的区别
logback和logback-spring.xml都可以用来配置logback,但是2者的加载顺序是不一样的。logback.xml--->application.properties--->logback-spring.xml.logback.xml加载早于application.properties,所以如果你在logback.xml使用了变量时,而恰好这个变量是写在ap...原创 2018-09-11 10:17:39 · 7358 阅读 · 1 评论