控制消息监听容器停止一定时间后重新开始监听

2024-05-04

听众:

 <bean id="msglistenerForAuditEvent" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
        <property name="connectionFactory" ref="jmsFactory"/>
        <property name="sessionTransacted" value="true"/>
        <property name="destinationName" value="test.event"/>
        <property name="messageListener" ref="auditListener" />
    </bean>

我想停止容器监听JMS消息并在一段时间后重新启动它?

能实现吗?


也许有更好的解决方案,但我认为这个可以适合:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jms.listener.DefaultMessageListenerContainer;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;

@Configuration
@EnableAsync
@EnableScheduling
public class AppConfig {

    @Autowired
    private DefaultMessageListenerContainer dmlc;

    @Scheduled(fixedDelay = 5000)
    public void start() {
        if (!dmlc.isRunning()) {
            dmlc.start();
        }
    }

    @Scheduled(fixedDelay = 5000)
    public void stop() {
        if (dmlc.isRunning()) {
            dmlc.stop();
        }
    }

    // @Scheduled(fixedDelay = 5000)
    // public void startOrStop() {
    // if (dmlc.isRunning()) {
    // dmlc.stop();
    // } else {
    // dmlc.start();
    // }
    // }

    @Bean
    public DefaultMessageListenerContainer dmlc() {
        DefaultMessageListenerContainer dmlc = new DefaultMessageListenerContainer();
        // dmlc.set...
        return dmlc;
    }
}

https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html

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

控制消息监听容器停止一定时间后重新开始监听 的相关文章

随机推荐

  • 多处理中的共享内存

    我有三个大清单 第一个包含位数组 模块位数组 0 8 0 另外两个包含整数数组 l1 bitarray 1 bitarray 2 bitarray n l2 array 1 array 2 array n l3 array 1 array
  • mysql 时钟

    我有一个包含以下元素的时钟表 id pk action emp id fk time 如果我通过了 如何选择最新的动作emp id到查询 id emp id action current time 1 1 clockin 2012 01 2
  • IE9 是否支持 CSS3 ::before 和 ::after 伪元素?

    On 这个 MS 兼容性表 http msdn microsoft com en us library cc351024 28v vs 85 29 aspx它说 IE9不支持伪元素 before and after 但当我尝试时 似乎确实
  • 将数据作为 RDD 保存回 Cassandra

    我试图从 Kafka 读取消息 处理数据 然后将数据添加到 cassandra 中 就像它是 RDD 一样 我的麻烦是将数据保存回 cassandra 中 from future import print function from pys
  • 使用基类活动将多个活动(选项卡)绑定到服务

    发帖后发现这些 http code google com p android issues detail id 2665 http code google com p android issues detail id 2665http co
  • Javascript时间转换正则表达式

    我有一种使用 Net 中的正则表达式来转换时间的方法 例如 1h 20m 格式为双倍 就这个 public static double GetTaskHours this string tmpHours Double taskHours 0
  • 在 Pygame 中缩放图像/矩形

    是否可以在 pygame txt 内部 缩放 矩形 有点像当你在桌面上缩放窗口时 我想知道你如何在 pygame 中做到这一点 您的光标将控制矩形的大小 我使用 skrx 方法并尝试对 2 个矩形执行此操作 if evnt type MOU
  • Facebook应用程序白名单流程

    有谁知道将 FB 应用程序列入白名单以启用某些功能的过程吗 我看到很少有人问同样的问题 但没有答案 FB 有处理白名单申请的联系人吗 没有申请白名单的公共流程 与大多数公司一样 Facebook 可能拥有少量私有 API 这些 API 仅供
  • pandas - 将字符串转换为字符串列表[重复]

    这个问题在这里已经有答案了 我有这个 file csv 文件可以用 pandas 读取 Title Tags T1 Tag1 Tag2 T1 Tag1 Tag2 Tag3 T2 Tag3 Tag1 using df pd read csv
  • Ruby:注释“frozen_string_literal: true”有什么作用?

    这是rspecbinstub 在我的项目目录中 usr bin env ruby begin load File expand path spring FILE rescue LoadError end frozen string lite
  • 如何在 Chrome 开发者工具的控制台中启用下划线?

    我正在使用 Angular2 和下划线 import as from underscore 我也想在 Chrome 控制台窗口中使用下划线库 即使我确实在代码中间中断 并尝试使用 但我得到了 未定义 错误 我可以在 Chrome 控制台窗口
  • Jquery .ajax method =“post”但$_POST为空

    ajax method post url save php data id 453 action test beforeSend function complete function success function html mydiv
  • 具有 UI 自动化和 .net 的数据网格内容

    我在使用 UI 自动化读取外部应用程序中的数据网格内容时遇到一些问题 并且可以使用一些指针 这是我到目前为止所拥有的 int id System Diagnostics Process GetProcessesByName Book 0 I
  • 使用Log4j在日志中输出Spark应用程序id

    我有一个用于 Spark 应用程序的自定义 Log4j 文件 我想输出 Spark 应用程序 ID 以及消息和日期等其他属性 因此 JSON 字符串结构如下所示 name time date level thread message app
  • React.js 关于监听组件窗口事件的最佳实践

    我根据几个 React js 组件在视口中的位置对它们进行动画处理 如果组件位于视口中 则将不透明度动画设置为 1 如果不在视口中 则将其不透明度动画设置为 0 我正在使用getBoundingClient s top and bottom
  • 查看所有定义的变量

    我目前正在 python shell 中进行计算 我想要的是 Matlab 风格的列表 您可以在其中看到已定义的所有变量 这样我就知道我使用了哪些名称 它们的值等 有办法吗 我该怎么做 您可以使用一些东西 dir 将为您提供范围内变量的列表
  • 带有 Hamcrest 匹配器的 TestNG 软断言

    我想在 TestNG 测试中使用 Hamcrest 匹配器 并专门使用软断言 我怎样才能做到这一点 我知道我可以在测试中使用 Hamcrest 的断言 例如 assertThat actual containsInAnyOrder expe
  • 检索访问令牌时出错:TypeError:无法读取未定义的属性“project_id”

    我是扣扣新手 首次登录后通过 扣登录 我能够登录 script google com 接下来 我创建了一个项目并通过以下方式推送文件 扣推 现在 我已使用以下方式注销 扣注销 这里需要帮助 现在 如果我正在尝试 clasp 登录 creds
  • 页脚中的 SSRS 页码

    我希望不包含报告前 10 页 即第 1 10 页 的页码 在页脚中 第 1 页应为 i 第 2 页应为 ii 第 3 页应为 iii 依此类推 以罗马数字表示 当到达第 11 页时 应重置页码 有谁知道我可以用什么表达来实现这一目标 因此
  • 控制消息监听容器停止一定时间后重新开始监听

    听众