建设微信商城网站,wordpress调用产品图片,wordpress标签文章数量,视觉差网站插件文章目录 配置maven启动类添加yml 使用添加Feign服务Controller 其他设置超时设置YML开启OpenFeign客户端超时控制#xff08;Ribbon Timeout#xff09;OpenFeign日志打印功能日志级别YML开启日志 配置
maven
dependencies!--openfeign--dependencyRibbon TimeoutOpenFeign日志打印功能日志级别YML开启日志 配置
maven
dependencies!--openfeign--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency
/dependencies 启动类添加
激活Feign
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;SpringBootApplication
EnableFeignClients //激活OpenFeign
public class OrderFeignMain80
{public static void main(String[] args) {SpringApplication.run(OrderFeignMain80.class, args);}
}yml
这里用的是eurekanacos参考nacos相关配置
server:port: 80
eureka:client:register-with-eureka: falseservice-url:defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/使用
添加Feign服务
Component
FeignClient(value CLOUD-PAYMENT-SERVICE)
public interface PaymentFeignService
{GetMapping(value /payment/get/{id})public CommonResultPayment getPaymentById(PathVariable(id) Long id);GetMapping(value /payment/feign/timeout)public String paymentFeignTimeout();
}Controller
调用PaymentFeignService之后通过Feign调用相关服务
RestController
Slf4j
public class OrderFeignController
{Resourceprivate PaymentFeignService paymentFeignService;GetMapping(value /consumer/payment/get/{id})public CommonResultPayment getPaymentById(PathVariable(id) Long id){return paymentFeignService.getPaymentById(id);}GetMapping(value /consumer/payment/feign/timeout)public String paymentFeignTimeout(){// OpenFeign客户端一般默认等待1秒钟return paymentFeignService.paymentFeignTimeout();}
}其他设置
超时设置
OpenFeign默认等待1秒钟超过后报错 OpenFeign默认支持Ribbon
YML开启OpenFeign客户端超时控制Ribbon Timeout
server:port: 80eureka:client:register-with-eureka: falseservice-url:defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
#设置feign客户端超时时间(OpenFeign默认支持ribbon)
ribbon:
#指的是建立连接所用的时间适用于网络状况正常的情况下,两端连接所用的时间ReadTimeout: 5000
#指的是建立连接后从服务器读取到可用资源所用的时间ConnectTimeout: 5000OpenFeign日志打印功能
对Feign接口的调用情况进行监控和输出
日志级别
NONE默认的不显示任何日志BASIC仅记录请求方法、URL、响应状态码及执行时间HEADERS除了 BASIC 中定义的信息之外还有请求和响应的头信息FULL除了 HEADERS 中定义的信息之外还有请求和响应的正文及元数据。
import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;Configuration
public class FeignConfig
{BeanLogger.Level feignLoggerLevel(){// 此处修改日志级别return Logger.Level.FULL;}
}YML开启日志
logging:level:# feign日志以什么级别监控哪个接口com.atguigu.springcloud.service.PaymentFeignService: debug