我需要创建一个代理服务调度程序,在 5 分钟后接收队列的消息。像队列一样会产生单个或多个消息,但代理会在每 5 分钟间隔后接收到该消息。我怎样才能仅使用 oracle 服务总线来实现这一点......请帮助我
问问题
2641 次
4 回答
0
OSB 不提供开箱即用的调度程序功能。您可以执行以下任一操作:
- 对于 JMS 队列,通过不设置重试限制来无限重试,并将重试间隔设置为 5 分钟。
- 创建调度程序。检查这篇文章是否相同:http: //blogs.oracle.com/jamesbayer/entry/weblogic_scheduling_a_polling
于 2013-09-20T14:42:37.833 回答
0
您可以使用 Quartz 调度程序 API 跨域创建调度程序。
问候, 萨吉夫
于 2014-08-17T04:36:51.457 回答
0
答案仅供参考,消息不应该以这种方式进行复杂的计算选择,仅进行一些值比较和模式匹配。
要从队列中仅获取足够旧的消息,
- 不修改队列或消息
- 不在队列和消费者之间引入任何新的代理
- 不会过早消费消息
,使用JMS 传输选项卡上OSB 代理的消息选择器字段来设置布尔表达式 (SQL 92),以检查该消息的JMSTimestamp标头至少比当前时间早 5 分钟。
...而且我没有成功地从时间戳或 JMSMessageID 快速生成有效的消息选择器(它包含以 milis 为单位的时间 - 'ID:<465788. 1372152510324 .0>')。
我想有人仍然可以在某些特定情况下使用它。
于 2013-10-26T21:52:19.373 回答
0
我不知道这是否适合你,但它对我有好处。也许你可以用它来做你需要的。
转到代理服务的传输详细信息,在高级选项选项卡下,设置以下字段。
轮询频率(提及您的频率 300 秒(5 分钟))
物理目录(可能在这里您需要提供您的队列路径)
于 2018-07-20T06:08:36.400 回答