公司项目做一个关于程序报错,实现给管理发送邮件提醒时使用springcloud的feign调用接口时总是走断路器
经过分析得出,调用接口时传递的参数过大,无法调用成功,解决方法如下:
1:引入springcloud关于feign依赖
io.github.openfeign.form feign-form 3.0.3 io.github.openfeign.form feign-form-spring 3.0.3 2:编写配置项@Configuration
public class CoreFeignConfiguration {
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
@Bean
@Primary
@Scope(SCOPE_PROTOTYPE)
Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(this.messageConverters));
}
@Bean
public Logger.Level logger() {
return Logger.Level.FULL;
}
}
3:启动类上添加注解
@EnableTransactionManagement
4:接口调用使用注解
@FeignClient(value = “sendemail”, fallback = SendEmailHystrix.class,
configuration = CoreFeignConfiguration.class)
public interface SendEmail {