1

我需要创建一个代理服务调度程序,在 5 分钟后接收队列的消息。像队列一样会产生单个或多个消息,但代理会在每 5 分钟间隔后接收到该消息。我怎样才能仅使用 oracle 服务总线来实现这一点......请帮助我

4

4 回答 4

0

OSB 不提供开箱即用的调度程序功能。您可以执行以下任一操作:

  1. 对于 JMS 队列,通过不设置重试限制来无限重试,并将重试间隔设置为 5 分钟。
  2. 创建调度程序。检查这篇文章是否相同: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 回答