当前位置: 首页 > 知识库问答 >
问题:

ActiveMQ Artemis中已过期的消息

宣原
2023-03-14

我已经使用Eclipse微配置文件发射器在Quarkus应用程序中创建了一个ActiveMQ Artemis生成器。但是消息会立即过期,并被移到expiryqueue中。我不确定这种行为。请建议如何将消息保存到队列中,以便它仅在指定时间后过期。

我正在使用下面的代码。

        @Inject
        @Channel("my-queue")
        Emitter<String> emitter;
        String message = "my-message";
        OutgoingAmqpMetadata metadata = OutgoingAmqpMetadata.builder()
                    .withExpiryTime(10000L)
                    .withDurable(true)
                    .withMessageId(String.valueOf(message.hashCode()))
                    .build();
       
        emitter.send(Message.of(message, Metadata.of(metadata)));
mp.messaging.outgoing.my-queue.connector=smallrye-amqp

共有1个答案

危璞
2023-03-14

我认为您在With ExpiryTime中设置了错误的值。你把它设置成一个TTL,但我相信这是一个绝对的时间,所以你应该这样做:

OutgoingAmqpMetadata metadata = OutgoingAmqpMetadata.builder()
            .withExpiryTime(System.currentTimeMillis() + 10000L)
            .withDurable(true)
            .withMessageId(String.valueOf(message.hashCode()))
            .build();
 类似资料:
  • 问题内容: 我正在尝试将一个大型Django项目部署到heroku。我安装了Heroku CLI,登录,创建了一个应用程序并运行: 我已经设置了一个Pipfile和requirements.txt。我添加了runtime.txt以指定需要python 2.7。这也在Pipfile中。这是我从推送到heroku得到的结果: 由于某种原因,它尝试安装python 3,而且它也不喜欢我的Pipfile.

  • andutils 是 Android 的常用工具类. 1. 日志工具类: 即使过去logcat中的日志信息(通过当前app的pid进行日志筛选,日志可分等级过滤),当日志保存到一定大小会发送到指定的邮箱。 2. 汉字转换拼音工具类:可以把汉字转换成拼音方便模糊查询,此工具类来自android的通讯录源码中。 3. android发送邮件工具类(整个开源项目 http://code.google.c

  • $java-version给出:java版本“1.6.0_31”OpenJDK运行时环境(IcedTea6 1.13.3)(6b31-1.13.3-1ubuntu1~0.12.04.2)OpenJDK客户端VM(build 23.25-B01,混合模式,共享) 我该怎么办?在访问openjdk.java.net/install/时,我没有找到为Ubuntu下载更新的openjdk的方法

  • 我正在进行IDP发起的登录,其中Azure AD是我的IDP,Keyclope是经纪人。我在Keyclope服务器控制台中发现以下错误:- 11: 02:17571调试[org.keydape.saml.common](默认任务-9)org.keybape.saml.processing.core.saml.v2.util。XMLTimeUtil issueInstant:2021-01-01T0

  • 问题内容: 我想知道redis中是否有一个功能可以让我获取所有过期的密钥(我的意思是某种事件,这使我有机会取回所有过期的记录)。其目的是将旧值保存到另一个数据库中。我听说有可能使用发布机制,但是google不能帮助我们实现这一想法。 问题答案: Redis的当前开发版本包含一个新功能:键空间通知。文档:http : //redis.io/topics/notifications 密钥空间通知允许客

  • 我将与一起使用中的这个库。所有使用者均为,所有队列均为(4小时)。 我有很多队列没有任何挂起的ack,但仍然保存着数百条消息。此外,队列不会在应该过期时过期,这将在几天后产生性能问题。我没有找到任何理由来解释为什么消息在ack处理之后仍然在队列中。 谢谢 管理工具中的一些快照: