您现在的位置是:首页 > 正文

WebSocketConfigurationSupport$NoOpScheduler.schedule

2024-02-29 11:16:48阅读 1

项目中使用了WebSocket进行消息的推送,同时又使用了定时器Scheduled进行定时执行操作,这两者同时使用抛出异常。

java.lang.IllegalStateException: Unexpected use of scheduler.
    at org.springframework.web.socket.config.annotation.WebSocketConfigurationSupport$NoOpScheduler.schedule(WebSocketConfigurationSupport.java:108)

查看WebSocketConfigurationSupport的108行,可以看到

private static class NoOpScheduler implements TaskScheduler {

		@Override
		@Nullable
		public ScheduledFuture<?> schedule(Runnable task, Trigger trigger) {
			throw new IllegalStateException("Unexpected use of scheduler.");
		}

这里定义了一个schedule方法,方法中执行抛出了一个异常,该方法对于所有的@Schedule都会执行,所以会抛出异常。
解决:
通过显示手动创建ThreadPoolTaskScheduler,在Config中增加方法:

 @Bean
    public ThreadPoolTaskScheduler taskScheduler(){
        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
        taskScheduler.setPoolSize(10);
        taskScheduler.initialize();
        return taskScheduler;
    }

网站文章

  • android中的TextView组件,Android控件之TextView全解析

    android中的TextView组件,Android控件之TextView全解析

    前言大家好!在前几篇文章里,我们详细介绍了Android中的常用布局,使大家对Android中的页面布局有了一定认识,而对于布局中使用的一些UI控件如Button、TextView等,有的读者可能还存...

    2024-02-29 11:16:19
  • .NET 面试题 - 初级&amp;中级

    初级.NET开发人员 - 任何使用.NET的人都应知道的 1. 描述线程与进程的区别? 进程是系统所有资源分配时候的一个基本单位,拥有一个完整的虚拟空间地址,并不依赖线程而独立存在。进程可以定义程序的...

    2024-02-29 11:16:10
  • Mysql基础 — DDL、DML、DQL、DCL、函数、约束

    Mysql基础 — DDL、DML、DQL、DCL、函数、约束

    编号(纯数字)员工工号 (字符串类型,长度不超过10位)员工姓名(字符串类型,长度不超过10位)性别(男/女,存储一个汉字)年龄(正常人年龄,不可能存储负数)身份证号(二代身份证号均为18位,身份证中有X这样的字符)入职时间(取值年月日即可)

    2024-02-29 11:16:04
  • el-table 鼠标悬浮时背景色改变

    el-table 鼠标悬浮时背景色改变

    el-table 鼠标悬浮时改变背景色

    2024-02-29 11:15:30
  • 《张居正》—— 读后总结

    《张居正》—— 读后总结

    2019独角兽企业重金招聘Python工程师标准>>> ...

    2024-02-29 11:15:23
  • 计算机毕业设计选题推荐-学生宿舍管理微信小程序/安卓APP

    计算机毕业设计选题推荐-学生宿舍管理微信小程序/安卓APP

    随着信息技术的迅速发展,学生宿舍管理逐渐转向数字化和信息化。传统的管理方式存在许多弊端,例如:信息不透明、管理效率低下、学生满意度低等。因此,开发一款新型的学生宿舍管理微信小程序/安卓APP,具有重要...

    2024-02-29 11:15:17
  • sqoop导入数据中含有\t、\n等的解决方法

    sqoop从mysql导入到hive的命令如下:sqoop import --connect jdbc:mysql://serveraddress:3306/test  --username root...

    2024-02-29 11:14:41
  • iOS之PDF相关实现

    iOS之PDF相关实现

    PDF的阅读功能几种方法实现:https://www.jianshu.com/p/93ec03564b4c https://www.jianshu.com/p/ba08f8832528 集成第三方SDK 福昕Foxit PDF SD 国内付费SDK,可对PDF做标注等更多操作功能; PlugPDF 国外付费SDK,可对PDF做标注等更多操作功能; PSPDFKit 国外付费SDK,可对P...

    2024-02-29 11:14:34
  • TGA文件格式分析

    TGA文件格式分析

    一、TGA文件格式概述TGA(Truevision Graphics Adapter)文件格式,通常又称为Targa(Truevision Advanced Raster Graphics Adapt...

    2024-02-29 11:14:05
  • Xcode11 新建工程(启动黑屏问题)

    升级Xcode 11.0之后,发现创建项目新增SceneDelegate文件,AppDelegate文件中的window属性放到了SceneDelegate中,交给SceneDelegate来管理wi...

    2024-02-29 11:13:57