Mule 中使用日期的 JMS 消息选择器

2024-04-15

在 Mule 3.3.1 中,在异步处理期间,当我的任何外部服务关闭时,我想将消息放在队列中(retryQueue)具有特定的“下次重试”时间戳。处理来自此的消息的流程retryQueue根据“下次重试”时间选择消息,如果“下次重试”时间超过当前时间,则选择要处理的消息。类似于以下链接中提到的内容。

重试 JMS 队列实现以在一定时间间隔后传递失败的消息 https://stackoverflow.com/questions/17838222/retry-jms-queue-implementation-to-deliver-failed-messages-after-certain-interval

您能否提供示例代码来实现此目的?

I tried:

<on-redelivery-attempts-exceeded>
  <message-properties-transformer scope="outbound">
<add-message-property key="putOnQueueTime" value="#[function:datestamp:yyyy-MM-dd hh:mm:ssZ]" />
  </message-properties-transformer>
  <jms:outbound-endpoint ref="retryQueue"/>
</on-redelivery-attempts-exceeded>

以及接收流程

<jms:inbound-endpoint ref="retryQueue">
<!-- I have no idea how to do the selector.... 
 I tried....<jms:selector expression="#[header:INBOUND:putOnQueueTime > ((function:now) - 30)]"/>, but obviously it doesn't work. Gives me an invalid message selector. -->
</jms:inbound-endpoint>.

另请注意:如果我使用设置出站属性

<add-message-property key="putOnQueueTime" value="#[function:now]"/>, 

它不会作为标头的一部分保留下来。这就是为什么我将其更改为:

<add-message-property key="putOnQueueTime" value="#[function:datestamp:yyyy-MM-dd hh:mm:ssZ]" />

表达式中:

<jms:selector expression="#[header:INBOUND:putOnQueueTime > ((function:now) - 30)]"/>

应该评估为有效的 JMS 选择器,但这里的情况并非如此。尝试使用:

<jms:selector expression="putOnQueueTime > #[XXX]"/>

将 XXX 替换为可创建所需时间的表达式。

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

Mule 中使用日期的 JMS 消息选择器 的相关文章

  • Rails 将脚本作为后台作业执行

    我有一个已作为独立功能实现的 ruby 脚本 现在我想在我的 Rails 环境中执行这个脚本 但将其作为后台作业执行会增加难度 因为它需要大量的时间处理 添加delayed job gem后 我尝试调用以下句子 delay system r
  • 如何在 Flutter 中的 AnimationController.repeat() 之间添加一些延迟

    I need to add some delay between each iteration of animation gets call to repeat Something like the following image 我尝试通
  • 在 PHP 中执行 exec() 或 system() 且不等待输出

    我想从 PHP 脚本中触发 eider exec 或 system 中的 shell 命令 但这是一项需要一段时间才能完成的任务 有没有办法触发它并继续运行 PHP 页面加载而不延迟 编辑 我使用的是 CentOS 6 PHP 5 3 取决
  • 为什么 Mule 例外策略这么啰嗦?

    在我的 Mule 应用程序中 我已将一些流程配置为使用捕获异常策略来执行一些特殊处理 对于这些情况 我想将错误和原始有效负载弹出到对象存储中 在其他地方 默认的异常策略就很好
  • Java等待函数

    我想知道你们是否可以帮助我 我正在尝试使用 Java 内置的图形模块制作一个动画程序 事实是 Java 立即执行所有操作 不同的动画之间没有任何时间 最终产品只是最后一张图片 我需要一个在每张图片之间放置半秒的功能 任何帮助表示赞赏 规格
  • 告诉 jQuery 在动画序列期间忽略点击

    我正在为 jQuery 编写一个幻灯片放映应用程序 单击一个按钮 然后滑动浏览图像列表 但是我遇到了一个小错误 它将响应click 即使在动画发生时也发出请求 我正在使用animate 功能已经存在 因此这不会避免额外的动画请求 有什么办法
  • Mule ESB 中的重连策略

    我正在尝试验证文档中提到的 Mule ESB 中的重新连接策略 我已将标准重新连接策略设置为重试次数为 5 次并设置一些超时 我的终点无法到达 因为故意停止它来测试场景 我在 Mule 控制台中有一个例外 异常堆栈是 1 连接被拒绝 con
  • 为什么 mule json 到 xml 转换器只获取第一个元素?

    我正在尝试使用 json to xml transformer 将 json 消息转换为 xml 但无法找到有关其使用的文档 我不需要对数据进行任何转换 只需将 json 属性转换为 xml 标签即可 当我尝试使用转换器时 我得到的只是 j
  • Mule http:outbound-endpoint + multipart/form-data

    我正在尝试调用一个期望接收多部分 表单数据的休息服务 但我遇到了一些问题 经过一段时间的搜索 我了解到我必须将有效负载移动到出站附件并将有效负载设置为空
  • 声明了本地函数“RestartGame”但从未使用过 Assembly-CSharp

    我真的需要帮助 当我将 Invoke 放入 C 中时 出现以下错误 声明了本地函数 RestartGame 但从未使用过 Assembly CSharp 我真的不知道为什么会发生这种情况 但这是代码 使用Unity引擎 使用UnityEng
  • for 循环被忽略(优化?)

    我正在使用 for while 循环在我的代码中实现延迟 延迟的持续时间在这里并不重要 尽管它足够大而引人注目 这是代码片段 uint32 t i Do something useful for i 0 i lt 50000000U i D
  • 如何获得可靠的 Cortex M4 短延迟

    我正在将一些代码从 M3 移植到 M4 它使用 3 个 NOP 在串行输出时钟更改之间提供非常短的延迟 M3指令集将NOP的时间定义为1个周期 我注意到 M4 中的 NOP 并不一定会延迟任何时间 我知道我需要禁用编译器优化 但我正在寻找一
  • 自动从启动屏幕快速 UI 导航到另一个屏幕,并带有延迟时间

    我是 IOS 和 Swift UI 的新手 在启动屏幕后无法导航到登录屏幕 我如何导航到登录屏幕 请帮帮我 我真的很感谢你们的所有回答 import SwiftUI import Dispatch struct SplashScreen V
  • Mule Salesforce Batch 中的错误处理

    我正在尝试将一组帐户从 CSV 文件加载到 Salesforce 中 我已经配置了常用的 Datamapper 带有批提交的 Upsert SFDC 步骤和仅处理失败的批步骤 目前为日志 我的 OnComplete 有一个简单的记录器 我故
  • 如何在Mule中创建独占队列消费者?

    在 ActiveMQ 中 您可以为队列配置独占消费者 例如 Queue Name Here consumer exclusive true 如何在 Mule 中配置像上面这样的独占消费者 您需要对队列名称进行 URL 编码 因为 Mule
  • jQuery:append()对象,用delay()删除()它

    这有什么问题吗 body append div class message success Upload successful div message delay 2000 remove 我想将成功消息附加到我的 html 文档中 但只持续
  • HTML LocalStorage 中的数据在其他窗口/选项卡中可用所需的时间

    我有一个使用 HTML LocalStorage 的网页 同时打开此页面的多个选项卡 窗口是很常见的 由于这些都使用相同的 LocalStorage 并且 LocalStorage 不提供事务或类似功能 因此我想实现某种形式的互斥 以防止不
  • JavaScript - 如何等待/SetTimeOut/睡眠/延迟

    这又是我的剪刀石头布游戏 目前 用户无法看到发生了什么 因为在提示输入 石头 布或剪刀 后 他们会立即重新提示 问题是我怎样才能使程序延迟 以便他们至少可以读取正在发生的事情 我读到 JavaScript 中不存在 sleep 我正在尝试使
  • 数据编织转换

    我有 POST 方法的以下有效负载的输入 order Column X X Column Y Y Column Z Z Column W div 1 some text div 2 true div 3 2 mapper A
  • Mule/码头设置

    我有一个正在运行的 Mule 应用程序 我想在其上设置 Jetty 来响应 http 请求 以下配置

随机推荐

  • 我的代码中某处存在无限循环

    我有这个 Java 游戏服务器 最多可处理 3 000 个 tcp 连接 每个玩家或每个 tcp 连接都有自己的线程 每个线程的运行情况如下 public void run try String packet char charCur ne
  • 使用 Linq 按可变整数范围进行分组

    我试图根据整数的范围对一组数据进行分组 范围不以固定间隔增加 例如我有 商品编号 价格1 102 303 504 120 我想将价格为 0 10 11 100 和 100 500 的商品分组 因此 项目 1 在 A 组中 项目 2 3 在
  • tkinter 中从右到左的文本

    我使用的是 RTL 语言 并且我需要我的文本为 RTL 有办法做到吗 我怎样才能证明我的文字合理 例子 from tkinter import from tkinter constants import root Tk text Text
  • 使用 Fetch API 来 POST XML

    我正在尝试使用 Fetch API 来处理 XML 数据的 POST 以避免 XmlHttpRequest 的跨域问题 我面临的问题是 尽管将我的 Content Type 设置为 text xml 在本例中这是唯一受支持的内容类型标头 但
  • 如何从 jar 文件中排除属性文件?

    我有一个具有以下项目结构的java应用程序 myProject src main resources userConfig properties log4j properties target 我在用Maven构建我的项目 我在用maven
  • 使用 Google BigQuery 作为 Django 的后端

    我正在考虑使用 Google BigQuery 作为 Django 的后端 但无法确定这是否可行 以及如果可行 将应用哪些设置 目前 我的Django应用程序使用Postgresql settings py中的代码如下 DATABASES
  • 如何通过层序遍历创建二叉树?

    Given a level order列表 其中可以包括None值 如何构建二叉树 None列表中的值即None节点不能有任何子节点 left or right值 from typing import List Optional class
  • Google Plus 单点登录服务器流程 - Google_AuthException 获取 OAuth2 访问令牌时出错,消息:“invalid_grant”

    2013 年 1 月 27 日更新 听起来您可能多次发送相同的授权代码 在 Android 上 GoogleAuthUtil getToken 会缓存它检索到的所有令牌 包括授权代码 如果您请求第二个代码而不使前一个代码无效 GoogleA
  • 未捕获的类型错误:angular.lowercase 不是函数

    未捕获的类型错误 angular lowercase 不是函数 我的 angularjs 应用程序中出现此错误 并且整个应用程序未运行 这是它的表现textAngular sanitize js 413 无法调试 我尝试使用与 angula
  • BASH - 使用 Loop 和 If 语句总结唯一字段中多个字段的信息

    我有以下制表符分隔的文件 A1 A1 0 0 2 1 1 1 1 1 1 1 2 1 1 1 A2 A2 0 0 2 1 1 1 1 1 1 1 1 1 1 1 A3 A3 0 0 2 2 1 1 2 2 1 1 1 1 1 1 A5 A5
  • 网站是否有可能欺骗引用标头

    显然 请求标头可以通过客户端 任何扩展 AV 防火墙 浏览器设置等进行欺骗 我的问题是 网站所有者可以吗bad com可以创建一个 iframemywidget php 我会看到一个欺骗性的引用标头good com 欺骗将由站点所有者 例如
  • NetStream.appendBytes

    我有一个连接到 Flash Media Server 的 netConnection 我正在尝试使用 Flash Player 10 1 中的新appendBytes 函数将本地FLV 文件流式传输到FMS 但是我遇到了问题 我在网上获取的
  • 如何为ubuntu创建永久“别名”? [复制]

    这个问题在这里已经有答案了 例如 如果您创建别名 alias cls clear 它一直存在 直到您终止终端会话为止 当您启动新的终端窗口时 别名不再存在 如何创建 永久 别名 该别名存在于每个终端会话中 您可以将此类别名放入 bash a
  • 查询与空字段的比较

    我的 Firestore 集合包含带有字符串字段的文档 该字段可以是null 我期望如果我查询 Collection products Where producedDate lt 2018 01 15 我将获取 生产日期 早于 2018 1
  • UITableView 滚动时重复单元格

    当我向下滚动 UITableView 时 它开始向我显示我已经看到的相同单元格 并且稍微滚动一下继续将单元格放在错误的位置 这是我正在使用的代码 如果需要任何其他信息 请告诉我 h interface HomeViewController
  • MediaStore.Playlists.Members.moveItem 的替代方案

    我一直在使用以下代码从 Android 应用程序的播放列表中删除项目 private void removeFromPlaylist long playlistId int loc ContentResolver resolver getA
  • 为什么在基于 Lisp 的语言中习惯上将许多右括号放在一行上?

    通常代码如下所示 one thing another thing arg1 f arg5 r another thing arg1 f arg5 r 为什么不喜欢这样 one thing another thing arg1 f arg5
  • 在 JQuery 中通过 AJAX 上传文件

    我是 JQuery AJAX 的新手 我想用jquery实现文件上传 是否可以使用 JQuery AJAX 进行文件上传并将其发送到 Servlet Servlet 可以使用 apache file commons 来上传文件 有人可以建议
  • Android 通知 LED 不使用我的颜色

    我正在尝试使用一个通知 该通知也使用我的 S3 上的通知 LED 但由于某种原因 颜色将始终为蓝色 我猜这是默认值 我尝试使用不同的颜色但没有任何变化 其他应用程序 例如 Whatsapp Gmail 和 Facebook 在显示不同颜色的
  • Mule 中使用日期的 JMS 消息选择器

    在 Mule 3 3 1 中 在异步处理期间 当我的任何外部服务关闭时 我想将消息放在队列中 retryQueue 具有特定的 下次重试 时间戳 处理来自此的消息的流程retryQueue根据 下次重试 时间选择消息 如果 下次重试 时间超