使用 Spring Boot 异步自定义 ThreadPoolTask​​Executor

2024-02-26

我有一个 Spring Boot 应用程序,负责通过 REST 应答请求。我还推送有关我的应用程序调用的指标。由于这是一项单独的任务,并且我必须立即响应用户,因此我希望异步发布该指标。所以我用过:

ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(2);
executor.setMaxPoolSize(2);
executor.setQueueCapacity(500);
executor.setThreadNamePrefix("MyApp-");
executor.initialize();
return executor;

然而,这个使用SimpleAsyncTaskExecutor并且不重用任何线程。

1)我该如何使用ConcurrentTaskExecutor代替SimpleAsyncTaskExecutor?

2)哪种实现最适合我的需求?


要使您的自定义 Executor 工作,请确保它已注册为 Bean,并在注释为的方法上引用它@Async:

@Bean(name = "transcodingPoolTaskExecutor")
public Executor transcodingPoolTaskExecutor() {
    final ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
    executor.setCorePoolSize(2);
    executor.setMaxPoolSize(2);
    executor.setQueueCapacity(500);
    executor.setThreadNamePrefix("transcoder-");
    executor.initialize();
    return executor;
}

并且在@Service它持有该方法:

@Async("transcodingPoolTaskExecutor")
public void transcodeVideo(UUID fileId) {
    mediaFileService.transcodeVideo(fileId);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Spring Boot 异步自定义 ThreadPoolTask​​Executor 的相关文章

随机推荐

  • 更改maven Surefire-plugin的输出目录

    我正在尝试更改 Maven 项目中的surefire plugin 生成的XML 文件的输出文件夹 我在report plugin的配置括号内以及maven site plugin中声明了目标输出文件夹 在文档 https maven ap
  • 单击 iOS 证书续订时出错

    当我使用管理器并单击 续订 按钮时 出现以下错误 特别 此团队中没有带有 XP 的 iOS 证书 App Store 没有为参数 deviceids 提供值 我不确定为什么会收到这些错误 并且希望得到任何帮助 指导 我遇到了同样的问题 我什
  • java lambda 可以有超过 1 个参数吗?

    在 Java 中 是否可以让 lambda 接受多种不同类型 IE 单变量工作原理 Function
  • 来自 Facebook Messenger 机器人对话的 API 身份验证

    通过与 facebook Messenger 平台上的机器人对话来使用外部 API 进行身份验证的最佳方法是什么 举一个广泛的例子 我希望我的机器人的用户在外部网站的自己的个人资料上创建项目 有没有办法从用户那里获取登录信息 或者将我的机器
  • Python 警告 - 删除自定义警告消息末尾的原始警告输出的任何方法

    我正在尝试在 Python 脚本中创建自定义警告消息 allfiles glob glob folderpath xlsx if not allfiles warnings warn No xlsx data files are found
  • 当前与 delphi 2007 一起使用的正确 indy 和 openssl 版本是哪个

    我将 indy 组件与 D2007 一起使用 并尝试列出 imap 邮箱中的邮件主题 我下载并安装了当前的 indy 新版本 10 6 0 5039 安装 x100 软件包 并尝试使用各种 openssl dll 版本 xp 机器上的 32
  • 在iOS中,使用Swift,如何获取iPhone的启动时间?

    在核心运动中 数据在继承自的类中返回CMLogItem 其中有一个timestamp财产 这timestamp is a TimeInterval这是设备启动以来的时间 如何获取设备启动时间 从评论中我发现ProcessInfo proce
  • 与错误共享相关的性能计数器事件

    我正在查看 OpenMP 程序的性能 特别是缓存和内存性能 不久前我发现了如何使用 Vtune 分析性能的指南 其中提到了需要注意的计数器 不过现在好像找不到说明书了 如果您知道我有问题的手册或者您知道计数器 事件 请告诉我 另外 如果您有
  • Google Apps 脚本 - 使用 .replace 方法删除空格对我不起作用

    我正在使用 Google Apps 脚本来创建应用程序 当我尝试从电子表格值中删除空格时遇到问题 我也在 stackoverflow 和其他论坛上引用了很多帖子和评论 他们都在谈论使用 replace方法 然而 replace方法对我不起作
  • 动态加载资源文件

    我想动态加载资源文件 如果我静态地执行它 它显然效果很好 System Media SoundPlayer player new System Media SoundPlayer Properties Resources 88 player
  • 如何分离wpf文本框中的背景图像?

    我是 WPF 新手 在我的项目中 我尝试了带有用户图标的用户名文本框 我的 XAML 代码 gt
  • 用一个命令截断 MySQL 数据库中的所有表?

    是否有一个查询 命令 可以在一次操作中截断数据库中的所有表 我想知道是否可以通过一个查询来完成此操作 删除 即删除表 mysql Nse show tables DATABASE NAME while read table do mysql
  • 如何在Java中查找与通配符字符串匹配的文件?

    这应该很简单 如果我有一个像这样的字符串 Test sample txt 那么获取与此模式匹配的文件列表的普遍接受的方法是什么 例如 它应该匹配 Test1 sample22b txt and Test4 sample spiffy txt
  • SQL Server FOR XML - 基本查询

    我已经获得了一个 XML 文档 我想通过 SQL 脚本生成该文档 但我没有做过类似的事情 也无法找到任何可以引导我生成所需的最终 XML 的示例 我不确定哪种可能的方法更适合我的需要 EXPLICIT 或 PATH 或者甚至可能 我希望在从
  • Laravel 以数组形式获取翻译文件的内容

    你能帮我解决以下问题吗 我需要将翻译文件的内容作为数组获取 无论它是否是PHP文件或一个JSON file 假设我的项目中有以下结构 laravel project resources lang en es file1 php file2
  • QueryDSL 与注释处理器的 Gradle 配置

    我搜索了很多关于配置的信息QueryDSL with Gradle 我想配置注释处理器 以使用特定的注释 Generated在生成的类上 但我只能在这里找到这个链接 Gradle 无法生成 QueryDSL 类 https stackove
  • 在 winform C# 中加载 asp.net 网站

    我有一个 n MDI Windows 窗体应用程序 它包含两种形式 一种形式 测量数据 控制引擎 另一种形式 实验室 应显示我的 asp net 网站 该网站有各种任务供用户执行 如何在该实验室表单中显示 asp net 默认页面 我在用着
  • Oracle:是否可以为模式创建同义词?

    Firstly 我是一个oracle新手 并且我没有当地的oracle大师来帮助我 这是我的问题 问题 我有一些 SQL 脚本必须发布到多个 Oracle 实例 这些脚本创建存储过程 创建存储过程的架构与包含存储过程从中读取的表的架构不同
  • 在 PYOMO 中为 2 个变量定义特定值集

    我正在尝试使用多个变量分配材料属性 例如 密度和电导率是材料 1 材料 2 和材料 3 的两个决策变量 我必须输入以下信息 density of material 1 1000 density of material 2 2000 dens
  • 使用 Spring Boot 异步自定义 ThreadPoolTask​​Executor

    我有一个 Spring Boot 应用程序 负责通过 REST 应答请求 我还推送有关我的应用程序调用的指标 由于这是一项单独的任务 并且我必须立即响应用户 因此我希望异步发布该指标 所以我用过 ThreadPoolTaskExecutor