文章 130
评论 48
浏览 79510
Spring boot @Async注解导致Controller层在实现接口后,请求报404

Spring boot @Async注解导致Controller层在实现接口后,请求报404

最近在使用fegin服务调用的时候,同事遇见一个非常困扰的问题,在controller层正常实现fegin接口后,发现无法正常调用服务。 觉得挺好奇的,特此记录一下问题原因和处理方式 原因:在controller层有个方法上面有@Async 注解导致的,(如果不实现接口类,直接使用@Async 请求不会报404) 处理方式:将需要异步的代码放在service层处理!!! 这篇文章给出了问题详细的解释:https://www.cnblogs.com/ming-blogs/p/12951861.html @Async 注解 使用注意事项 没有在@SpringBootApplication启动类当中添加注解@EnableAsync注解。 异步方法使用注解@Async的返回值只能为void或者Future。 没有走Spring的代理类。(即ServiceA里面方法A调用方法B,会不生效!!) 方法一定要从另一个类中调用,也就是从类的外部调用,类的内部调用是无效的,需要先获取其代理类,通过代理类调用异步方法

Oauth2 自定义异常信息返回(springboot无法全局捕获invalid_client,unauthorized,invalid_token)

Oauth2 自定义异常信息返回(springboot无法全局捕获invalid_client,unauthorized,invalid_token)

@[toc] 在SpringBoot当中使用Oauth2的时候,发现部分Oauth2的异常无法被springboot的ControllerAdvance全局异常捕获!!! 特此记录下相关的处理方式:

Docker容器无法链接宿主机上的Mysql数据库

Docker容器无法链接宿主机上的Mysql数据库

本来宿主机上存在一个mysql,然后在安装Nacos就准备使用mysql来进行数据存储,创建好数据库表结构,用户账号之后,使用如下命令,发现Nacos始终无法连接上宿主机上的mysql数据库,然后各种检查:例如检查账号权限,是否开启远程链接权限等等,但是就是docker启动就是链接不上mysql。 docker run -d --name nacos -e MODE=standalone -e MYSQL_SERVICE_HOST="127.0.0.1" -e MYSQL_DATABASE_NUM=1 -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_USER=nacos -e MYSQL_SERVICE_PASSWORD=nacos -e MYSQL_SERVICE_DB_NAME="nacos" -e JVM_XMS=128M -e JVM_XMX=256M -e JVM_XMN=128M -e NACOS_DEBUG=y -p 8848:8848 --restart=always -v /home/nacos/logs:/h....

读取request的body内容提示java.io.IOException: Stream closed。

读取request的body内容提示java.io.IOException: Stream closed。

问题 最近做请求切面日志,发现无法读取request的body内容,会提示java.io.IOException: Stream closed。 记录下处理方式

一个菜鸟程序员的踩坑日记