我正在开发一个需要向 Azure 服务总线发送消息的 java 应用程序,以便在一定延迟后消息可用于下一个进程。
使用 Azure sdk,可以通过setScheduledEnqueueTimeUtc
在 Brokered 消息上设置 BrokerProperty 来实现,但我无法在 AMQP/JMS 世界中找到等效的。
Message.setProperty
与键值对一起使用会导致属性被放在应用程序属性下,并且消息会立即出现在队列中。
有没有办法实现这种延迟?
JMS 2.0 规范定义了“传递延迟”特性,允许在指定的持续时间后传递消息。有关详细信息,请参见此处http://www.oracle.com/technetwork/articles/java/jms2messaging-1954190.html 。您将需要一个实现 JMS 2.0 规范的消息传递提供程序。