当前位置: 首页 > news >正文

石河子规划建设局网站安徽注册公司网站

石河子规划建设局网站,安徽注册公司网站,做网站公司经营范围,郑州餐饮 网站建设背景 项目使用了websocket,实现了消息的实时推送。后来项目需要一个定时任务,使用org.springframework.scheduling.annotation的EnableScheduling注解来实现,启动项目之后报错 Bean com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration of t…

背景

项目使用了websocket,实现了消息的实时推送。后来项目需要一个定时任务,使用org.springframework.scheduling.annotation的@EnableScheduling注解来实现,启动项目之后报错

Bean 'com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration' of type [com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
Destroy method 'close' on bean with name 'nacosServiceRegistry' threw an exception: java.lang.NullPointerException

打断点进入代码发现是这个定时任务的bean为null

学习

由于先写的websocket推送消息,运行正常。之前一个项目只有一个定时任务(没有websocket)也是运行正常。综合网友的分析winky_L,是因为同时使用定时任务和websocket冲突导致

其他的一些学习kzcming
菜菜菜鸡

解决

1在启动类Application中加入task的initialize。【注意:如果继续报错,报错信息如下。报错信息解读:发现两个定时任务的bean,不知道使用哪一个,springboot报错,这时候在 taskScheduler方法中加上@Primary注解,告诉springboot使用这个自定义的定时任务】


Method nacosWatch in com.alibaba.cloud.nacos.discovery.NacosDiscoveryClientConfiguration required a single bean, but 2 were found:- taskScheduler: defined by method 'taskScheduler' in class path resource []- defaultSockJsTaskScheduler: defined by method 'defaultSockJsTaskScheduler' in class path resource [org/springframework/web/socket/config/annotation/DelegatingWebSocketConfiguration.class]

在这里插入图片描述
具体代码【】

    @Primary@Beanpublic TaskScheduler taskScheduler(){ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();//只有池子里的任务有执行结束后,池子之外的任务才有机会被加入执行。// 更糟的情况是,当池子里的任务都在因为异常或业务要求(比如出错无限重试)而导致池子永远无法得到释放,将导致固定值之外的任务永远不会被执行!//taskScheduler.setPoolSize允许动态设置池子的大小,可动态设置-> todo 有隐患taskScheduler.setPoolSize(10);taskScheduler.initialize();return taskScheduler;}

求解

问题1
刚开始在config类中添加该TaskScheduler 仍然启动不了,然后我放在启动类Application中就能启动成果。不知道这其中的原由
在这里插入图片描述
问题2
代码中和的这个线程池初始定义了poolsize,但是这里有隐患。
只有池子里的任务有执行结束后,池子之外的任务才有机会被加入执行。
更糟的情况是,当池子里的任务都在因为异常或业务要求(比如出错无限重试)而导致池子永远无法得到释放,将导致固定值之外的任务永远不会被执行!taskScheduler.setPoolSize允许动态设置池子的大小,可动态设置。看了一篇文章,但是还没有头绪daydayup

taskScheduler.setPoolSize(10);taskScheduler.initialize();
http://www.yayakq.cn/news/217149/

相关文章:

  • ps和vscode做网站网站建设网站设计多少钱
  • 广东哪家网站建设哪家公司好通辽网站公司
  • 长沙网站seo按天计费二级域名网站查询
  • 网站定制价格wordpress square主题
  • 网站为什么被降权游戏代理0加盟费
  • 网上网站怎么做设计网站建设价格
  • 网站建设作品图片网站建设需要学什么能力
  • 专门做库存的网站深圳沙头网站建设
  • 做网站所需要的技术企业文化网站建设
  • 怎么自己编写网站杭州首传网站建设公司怎么样
  • 怎样自己创造网站网站后台都有哪些
  • 凡科这样的建站网站权威发布
  • 嘉兴网站建设有前途吗网站开发保密合同
  • 微信公众好第三方网站怎么做网站开发哪一门语言更快
  • 苏州h5建站百度应用商店
  • 建站之星破解版手机什么是网络营销4c理论
  • 网站制作教程下载全国企业信息公示查询系统官网
  • 网站百度云链接模板网的图片侵权
  • 安徽住房建设厅网站鲜花销售网站模板
  • 周到的网站建站好用的免费国内ip代理
  • 北京医疗网站建设公司排名杨凌做网站的
  • 内网做网站需要空间吗做网站首页ps中得多大
  • wordpress回收站+恢复网页.网站.主页.网址.域名有什么联系
  • 网站排名如何提升沈阳什么行业做网站的最多
  • 网站建设新闻如何更新网络营销与策划实践报告
  • 网站建设产品培训全球最大的外贸平台
  • 清溪东莞网站建设最新赚钱项目发布平台
  • 凡科网站空间慢wordpress 调用描述
  • 网站开发平台有哪些南宁网站排名外包
  • 太原住房与城乡建设厅网站关键词优化除了做网站还有什么方法