我正在处理的应用程序收到来自外部系统的通知,由于我遇到了一些死锁,因此我要按顺序处理这些通知。

我正在使用Spring的TaskExecutor,它相当于JDK 1.5的Executor。

我已经通过以下方式实现了它:

我有一个包含1方法的java接口:

public interface AsynchronousService {

void executeAsynchronously(Runnable task);

}

以及相应的实现:

public class AsynchronousServiceImpl implements AsynchronousService {

private TaskExecutor taskExecutor;

@Override

public void executeAsynchronously(Runnable task) {

taskExecutor.execute(task);

}

@Required

public void setTaskExecutor(TaskExecutor taskExecutor) {

this.taskExecutor = taskExecutor;

}

}

这是TaskExecutor的配置。 我不确定此配置。 由于我希望通知按顺序执行,因此我为corePoolSize和maxPoolSize都设置了1。 这意味着将仅在线程池中创建一个线程,并从队列中顺序检索通知。 我还为“ WaitForTasksToCompleteOnShutdown”设置了“ false”,以便在执行每个任务后不关闭,而是在破坏spring上下文时关闭。 我的假设通常是否正确?

在这里,我执行代码:

asynchronousService.executeAsynchronously(new Runnable() {

@Override

public void run() {

someMethod.processNotification(notification)

}

});

您如何看待我的实施? 我错过了什么? 我不确定是否/需要在哪里实施错误处理?

编辑:是否有可能在春季调整任务执行器的执行以使用自定义队列? 或确定队列中任务的优先级有多难? 我研究了一些实现,但是大多数实现都使用sratch实现了executor-service而不使用Spring。

java executor spring_java - Spring TaskExecutor实现 - 堆栈内存溢出相关推荐

  1. java自带的unpack闪退,java - 使用requiresUnpack无法正常使用Maven构建的Spring Boot JAR - 堆栈内存溢出...

    我的POM看起来像这样: xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/ ...

  2. java字符串转语音文件_java - Java文字转语音(Spring Boot) - 堆栈内存溢出

    我从事的项目是必须使用SpringBoot生成验证码. 我想要一个"文本到语音"功能,并且声音文件必须使用SpringBoot生成(否则这将是一个巨大的安全问题). 我生成了一个验 ...

  3. java 更新jlabel_java - 用Java更新绑定的JLabel文本 - 堆栈内存溢出

    当我运行您发布的代码时,我收到了NullPointerException . 这是堆栈跟踪的一部分. (请注意,我的环境是[64位] Windows 10上的JDK 13.0.1.) Exceptio ...

  4. java输出abba_java - 有限状态机搜索“ABBA” - 堆栈内存溢出

    我正在尝试编写一个while switch case kinda代码,用于对有限状态机进行建模,该有限状态机搜索As和Bs字符串以查看字符串"ABBA"是否存在. 当我输入&quo ...

  5. java解析odt_java - 使用Java从odt文件读取XForm - 堆栈内存溢出

    我设法通过jdom(odfdom-java)做到了这一点,毕竟一点都没有使用过. 绑定的xml本身存在于表示odt的xml中. 您只需要知道表单的ID或标签的名称,即可获得正确的节点. 之后,将构造一 ...

  6. java使用jna修改桌面_java - Java JNA获取桌面项目位置 - 堆栈内存溢出

    问题是com.sun.jna.Native.getNativeSize(Class)不是在这种情况下使用的正确函数. 使用32位JVM时,问题是可见的(64位虚拟机不可见). 对于结构,上面提到的函数 ...

  7. ice 服务java连接,java - ICE中的连接计数 - 堆栈内存溢出

    是的,您应该这样做. 每个通信器都创建两个线程池: 客户端线程池为传出连接提供服务,这主要涉及处理传出请求的回复,并包括通知AMI回调对象. 如果在双向模式下使用连接,则客户端线程池还将调度传入的回调 ...

  8. Java导出超大Excel文件,防止内存溢出

    将业务数据导出到Excel表中,导出任务数据量较大时,导出的项目就会内存溢出,本文通过Java操作Poi的SXSSFWorkbook类进行导出,解决内存溢出问题. 1.采用Poi中的SXSSFWork ...

  9. aws java mysql_java - AWS EC2 / MySql - spring boot无法从datasource确定jdbc url - 堆栈内存溢出...

    我有一个简单的Spring Boot应用程序,我试图在基于Amazon AMI的Amazon EC2实例上部署. 它使用MySql数据库(版本8.0.15). 我在AWS上创建了数据库,当我从本地系统 ...

  10. java executor spring_java 线程池(ExecutorService与Spring配置threadPoolTaskExecutor)

    一.java ExecutorService实现 创建ExecutorService变量 private ExecutorService executor = null 2.执行对应任务时,首先生成线 ...

最新文章

  1. Spark详解(一):Spark及其生态圈概述
  2. 基于LBS的热点店铺搜索
  3. Laravel大型项目系列教程(一)
  4. 模板方法模式coding
  5. 2020护网参考学习 关于护网行动的总结
  6. 响应式Web设计 viewport 移动端页面自适应
  7. 下拉框value ,selectedIndex
  8. Android开发之TextView的滚动显示
  9. VB更改任何标题程序源代码
  10. Ghost 命令参数详解
  11. 小米笔记本UEFI关闭安全启动
  12. 20170603学习笔记整理
  13. win7 快速启动栏 里的快捷方式存放路径
  14. PING用一生诠释了TCP/IP(4)------二三层转发为PING劈荆斩棘
  15. 【python】注意力机制代码
  16. 港科夜闻|香港科大商学院5位教授跻身世界顶尖科学家之列
  17. Web前端开发技术课程大作业: 关于美食的HTML网页设计——HTML+CSS+JavaScript在线美食订餐网站html模板源码30个页面:
  18. Common Lisp Style Guide - Ariel Networks Labs
  19. 如何用AVS Video Editor这款视频编辑软件消除音频噪音?
  20. 谷歌文本转语音(gtts)批量转换

热门文章

  1. rabbitmq 发送的用户名是什么
  2. [LuoguP1360][USACP07MAR]黄金阵容均衡
  3. BZOJ4653 [NOI2016] 区间 【线段树】
  4. FZU1977 Pandora adventure —— 插头DP
  5. IOS 线程的总结(及cell的图片下载)
  6. 用例图中三种关系详解(转)
  7. 我开发的内部ORM(一)数据库组件
  8. 用例规约要细致到万无一失吗?
  9. js多个定时器 id按顺序么_定时器和时间轮系列(一): 初识
  10. 拓端tecdat|R语言逻辑回归(对数几率回归,Logistic)分析研究生录取数据实例