问剑白玉京 2024-03-23 20:33 采纳率: 76.9%
浏览 11
已结题

Sentinel整合openFeign出错,如何开openfeign对sentinel的支持

Sentinel整合openFeign出错,如何开openfeign对sentinel的支持

  1. 版本:

    img

  2. 在消费者一侧,添加如下配置:

    # 激活Sentinel对Feign的支持
    feign:
    sentinel:
     enabled: true
    

启动报错:

Error creating bean with name 'applicationTaskExecutor': Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)

img

是版本太高了吗?

  • 写回答

1条回答 默认 最新

  • 码农阿豪 Java领域优质创作者 2024-03-23 20:34
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    可能不是版本太高的问题,而是配置不正确导致的。可以尝试以下解决方案:
    1. 升级Spring Cloud版本,参考官方文档中的对应版本的配置方式。
    2. 检查依赖是否正确,比如是否引入了正确的Feign和Sentinel依赖,是否排除了其他与其冲突的依赖。
    3. 检查配置是否正确,比如是否正确配置了Feign和Sentinel的相关属性,是否正确使用了注解和配置文件等。
    4. 尝试在启动类中加上注解@EnableAsync,或者手动配置一个Executor Bean以解决该错误。
    5. 如果以上方法都不行,可以尝试重写Spring Boot自动装配的一些组件,或者调整一些开关来解决该问题。 代码实例: 可以尝试在启动类中加入以下代码:
    @EnableAsync
    public class MyApplication {
        @Bean
        public Executor applicationTaskExecutor() {
            ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
            executor.setMaxPoolSize(500);
            executor.setThreadNamePrefix("My-Thread-Pool-");
            return executor;
        }
        public static void main(String[] args) {
            SpringApplication.run(MyApplication.class, args);
        }
    }
    

    该代码是使用@EnableAsync注解来启用异步操作,并手动配置了一个Bean来覆盖Spring Boot默认的Executor Bean。如果仍然无法解决问题,可以尝试调整自动装配的一些组件,或者联系相关开发人员查看具体原因。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月9日
  • 已采纳回答 4月1日
  • 创建了问题 3月23日

悬赏问题

  • ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析