如何使用 @JmsListener 暂停和开始消费消息

2023-12-06

我使用的是 Spring Boot 版本 1.3.2。我正在使用 @JmsListener 来使用来自 activemq 的消息来获取我使用 JmsTemplate 创建/生成的消息。这是代码:

@JmsListener(destination = "myqueue")
public void consumeMsg(Object requestBody)
    try {
        javaMailSender.send(requestBody);
    } catch (MailException ex) {
        LOG.error(ex.getLocalizedMessage(), ex);
        if(ex.getMessage().contains(SMTP_CONNECTION_FAILURE) && activeMqMsg.getIntProperty("RETRYCOUNT") == 1) {
            producer.send("myqueue",requestBody)
        }
        else {
            producer.send("manualqueue",requestBody)
        }
    }
}

现在,当 smtp 出现连接失败错误时,我想暂停 @JmsListener 一段时间,然后再次开始使用消息。对于使用 @JmsListener 的用例,我还没有看到更好的示例。由于我使用的是Spring Boot,我在应用程序属性中添加了activemq连接参数,我不需要编写任何代码来创建连接工厂,设置队列...等你能帮忙看看如何做到这一点吗?


获取参考JmsListenerEndpointRegistry豆(例如@Autowire)并致电stop()- 它会阻止所有听众。start()将启动所有侦听器。

如果您有多个侦听器并且只想停止 1 个侦听器,请给它一个id属性和用途registry.getListenerContainer(id),然后停止/启动容器本身。

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

如何使用 @JmsListener 暂停和开始消费消息 的相关文章

  • Spring Batch如何作为Reader读取多个表(查询)并将其写入平面文件写入

    在我的项目中 我读取了具有不同查询的多个表 并将这些结果集合并到平面文件中 我该如何实现这一目标 我的意思是 JdbcReader 直接采用 1 个选择查询 我如何自定义它 如果 JdbcCursorItemReader 不能满足您的需求
  • JPA 实体中的方法是否允许抛出异常?

    我尝试创建的 Entity 有问题 当尝试使用 OpenJPA 实现在 Eclipse 中测试类时出现问题 我有not尝试过其他人 所以不确定它是否适用于他们 我的测试用例非常简单 因为它创建一个 EntityManagerFactory
  • 修复 java 内存泄漏的学习网站

    学习修复 java 内存泄漏的最佳地点是什么 我一直试图在网络上找到好的资源 但令我失望的是 我发现正在讨论玩具示例 我还能够对小型玩具转储进行故障排除 但现实世界的应用程序转储更具挑战性 并且提供的线索很少 我尝试过 Jhat JMap
  • mvn dependency:analyze 结果不正确

    我一直在寻找一种工具 它能够向您显示未使用的依赖项 我很快就偶然发现了 Maven 命令mvn dependency analyze 这样做的问题是 它经常检测到 未使用的 依赖项 如果缺失 这些依赖项就会导致构建失败 这是优化项目的示例
  • JLabel.setText() 中的换行符

    使用 JLabel setText 时如何插入换行符 我尝试使用 Html 但似乎可以使其适用于 setText 仅适用于 jLabel 的初始声明 最初声明 jlabel 时的方法是 label new JLabel Hello Worl
  • 仅使用 ServletContext 查找应用程序的 URL

    我正在使用 Spring MVC 编写一个 Java Web 应用程序 我有一个后台进程 它会遍历数据库并查找必须通过电子邮件发送给我的用户的通知 这些电子邮件需要包含应用程序的超链接 对于网络应用程序来说 这似乎是相当常见的模式 但我遇到
  • Java 创建 Thread 实例时会发生什么

    我有一个关于 Java 线程和操作系统线程的问题 我读了Java 线程与 Pthreads https stackoverflow com questions 5269535 java threads vs pthreads and Jav
  • 用java解密AES加密文件

    我有一个使用 AES 使用 java 应用程序加密的文件 我还有一个加密的密钥文件 但我不明白如何使用密钥来解密文件 大多数教程和示例都会在一个地方创建临时随机密钥 加密文件和解密 所以 问题是如何指定解密时必须使用的密钥 EDIT 我发现
  • 使用 javax.mail 和 CentOS 的邮件服务器

    我有一个 Java 程序 安装在一台旧的 Ubuntu 机器上 并使用 javax mail 发送邮件 然而 那台机器宕机了 我现在在新的 CentOS 机器上运行相同的 Java 应用程序 但是 当我尝试使用 mail smtp host
  • 从 Java 调用 Python 代码时出现问题(不使用 jython)

    我发现这是从 java 运行 使用 exec 方法 python 脚本的方法之一 我在 python 文件中有一个简单的打印语句 但是 我的程序在运行时什么也没做 它既不打印Python文件中编写的语句 也不抛出异常 程序什么都不做就终止了
  • 序言中不允许引用

    请帮我找到这个异常的原因 我使用以下罐子 core renderer jar itext paulo 155 jar 第一个文档 xhtml lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE h
  • Java 中 LINQ 的等价物是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Java 中 LINQ 的等价物是什么 没有什么比 LINQ for Java 更好的了 Edit 现在
  • 在Java中一个接一个地播放WAV文件

    我正在尝试玩几个WAV http en wikipedia org wiki WAV文件一个接一个 我尝试了这个方法 for String file audioFiles new AePlayWave file start 但这会同时播放它
  • 如何迭代SparseArray?

    有没有办法迭代 Java SparseArray 适用于 Android 我用了sparsearray通过索引轻松获取值 我找不到 看来我找到了解决方案 我没有正确注意到keyAt index 功能 所以我会这样做 for int i 0
  • 对于每个抛出异常的语句,try/catch 是否被视为反模式?

    我目前正在审查同事的 Java 代码 我看到很多情况下 每个可能抛出异常的语句都被封装在自己的 try catch 中 其中 catch 块都执行相同的操作 哪个操作与我的问题无关 对我来说 这似乎是一种代码味道 我记得读到过它是一种常见的
  • 无法运行简单的 doclet 程序:包 com.sun.javadoc 不存在

    我正在尝试运行一个简单的 doclet 程序 但无法编译它 javac cp cygdrive c Progra 2 Java jdk1 8 0 65 lib tools jar A java 但它抛出 A java 1 错误 包 com
  • Android:如何以编程方式仅圆化位图的顶角?

    我目前正在使用这段代码 Override public Bitmap transform Bitmap source Bitmap result Bitmap createBitmap source getWidth source getH
  • 如何使用自定义转换器访问 jOOQ 生成的例程字段作为值?

    我在访问生成例程的字段时遇到问题PL pgSQL 用户定义函数 返回JSON 数据类型结果 已经提到this https stackoverflow com q 62535195 6805866问题 这是我的结果get all orders
  • Spring Data JPA 和 Exists 查询

    我正在使用 Spring Data JPA 使用 Hibernate 作为我的 JPA 提供程序 并想要定义一个exists附加 HQL 查询的方法 public interface MyEntityRepository extends C
  • SAXParseException:找不到元素“定义”的声明

    我对 camunda 和 DMN 完全陌生 我试图在 spring boot 中运行 DMN 示例 链接在这里 https github com camunda camunda bpm examples tree master dmn en

随机推荐

  • Java 重写来自另一个类的方法而不继承

    我在这里发现了类似的问题 Java 中无需子类化即可重写方法 但我的有点不同 我有两个类 一个基于 GUI 另一个只是修改第一类中元素的方法 如果它只是编辑基本功能 我不会遇到任何问题 但现在我想从第二类重写第一类方法中的 jbutton
  • spring - hibernate 从类路径资源加载 *.hbm.xml

    我在 src main resources maven 文件夹中的类路径资源中有一些 hbm xml 文件 我使用 spring 的 LocalSessionFactoryBean 通过以下 bean 配置加载这些文件
  • 对齐饼图图例中的文本 - 如何右对齐图例内的内容

    截至目前我的图例显示如下测试1 5 测试2测试2 10 测试2测试2测试3 85 我试图像这样显示 带有空格并右对齐 测试1 5 测试2测试2测试2 10 测试3测试3测试3 85 任何建议表示赞赏 您可以使用所示的方法here创建一个包含
  • Webfont +悬停颜色:部分文本不改变颜色

    我见过几次这种情况 只在 Webkit 上 场景是您有一些带有悬停颜色的文本 并且它使用 webfont 自定义字体 当您悬停时 最右边字母的一部分没有获得悬停颜色 要明白我的意思 请在 Chrome 或 Safari 中查看此小提琴 并在
  • Python中通过数组索引调用函数

    我在 Python out1 out2 out3 等中有一堆函数 想根据我传入的整数来调用它们 def arryofPointersToFns value call outn where n value 是否有捷径可寻 tl dr 写一个o
  • PHP 检测低于版本 10 的 Internet Explorer

    有人可以帮我做这个吗 因为我只有mac 无法测试IE 如果浏览器是 Internet Explorer 并且版本低于 10 那么运行事件的好方法是什么 比如说它是 IE 7 它会显示错误 或者如果它是 IE 9 9 它会显示错误 但是如果它
  • 如何以固定速率安排持续时间长于速率的任务?

    我正在尝试安排一个每秒运行大约 2 25 秒的任务 因此我知道 3 个线程应该足以处理负载 我的代码如下所示 private final ScheduledExecutorService scheduler Executors newSch
  • 谷歌地图的第二次调用未显示正确尺寸的地图

    使用 gwt maps 3 8 0 我在 gwt 弹出窗口中显示一条路线 调用一次时有效 但第二次调用时无效 What should i do some advice to refresh the mapWidget 当您显示地图时 触发其
  • Python类方法,什么时候返回self?

    我很困惑何时在类中返回 self 以及何时返回一个可能或不可能用于检查方法是否正确运行的值 def api request self data api web request code return response text def co
  • 如何使用 h5py 导入 .mat-v7.3 文件

    我有 mat 文件 其中有 3 个矩阵 A B C 实际上我使用 scipy io 导入这个 mat 文件 如下所示 data sio loadmat data mat A data A B data B C data C 但是 v7 3
  • 橙色 PI 上的双 RC522

    我的目标是使用带有 Orange PI 的双 RFID RC522 读取器 到目前为止 我只成功完成了一项工作 阅读 google armbian 和 Orange pi 论坛 这是我到目前为止所做的 硬件连接 单RC 522 MOSI g
  • 为什么 JavaScript 中的 IF 语句允许重新声明变量

    我知道一个if语句不像函数那样有自己的作用域 这意味着它与包含的上下文共享相同的作用域 但如果是这样 为什么我允许再次重新声明相同的变量 var foo 123 if true console log foo 123 var foo 456
  • 错误:这可能不是 npm 的问题。上面可能有额外的日志输出

    在我的项目中 我使用 Angular6 作为前端 现在我想做的是将远程服务器中的项目部署到实际服务器中 我在用着npm run build prod首先构建前端的命令 但我无法构建我的项目 因为以下错误一次又一次发生 npm ERR cod
  • 提取最后一个斜杠和问号之间的文件名

    我想使用提取最后一个斜杠和问号之间的文件名regex我读了一些相关的答案 但我有几个域名 所以我想提取特定名称的文件名并寻找适用于所有域的正则表达式 我如何将其限制在某些域 我的目标是更换域名 http old domain com asd
  • C# 中的三元运算符

    谁能向我解释一下当您使用三元运算符时幕后会发生什么 这行代码执行 string str 1 1 abc def 是作为一个简单的 if else 语句生成的吗 考虑以下 class A class B A class C A 现在使用三元表
  • 如何使用 JavaScript 仅定位 Internet Explorer 11?

    使用 JavaScript 仅针对 IE11 的最不容易出错的方法是什么 注意 这实际上应该只用于分析或告知用户他们正在使用什么浏览器 对于其他一切 还有特征检测 IE 11 的用户代理字符串当前是这样的 Mozilla 5 0 Windo
  • 正则表达式更改所有 img src 属性的格式

    假设我有一个包含 HTML 标记的字符串 其中有许多 img 标签 如下所示 img src data images original 3 png alt 我需要一个正则表达式来更改所有图像以具有如下路径 img src utils loc
  • MySQL 将度、分、秒转换为十进制数

    我有多行度分秒 需要通过查询进行转换 36 19 11 46 北纬 36 31985 95 36 02 22 宽 95 600617 每行都会有所不同 我已经被这个问题困扰了两天了 这可能吗 不错的生活窍门 使用 SEC TO TIME 内
  • 将 seq 从 F# 传递到 RProvider

    我希望能够传递一系列option float到 RProvider 中F 如果我有一系列的浮点数Some float and None 我怎样才能得到None值转化为R与RProvider 我本以为Nones 相当于NA值在R 但我无法通过
  • 如何使用 @JmsListener 暂停和开始消费消息

    我使用的是 Spring Boot 版本 1 3 2 我正在使用 JmsListener 来使用来自 activemq 的消息来获取我使用 JmsTemplate 创建 生成的消息 这是代码 JmsListener destination