Oracle Service Bus代理服务计划程序

时间:2013-09-18 03:41:57

标签: scheduler osb oracle-service-bus

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

4 个答案:

答案 0 :(得分:0)

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

  1. 对于JMS队列,通过不设置重试限制并将重试间隔设置为5分钟来进行无限重试。
  2. 创建一个调度程序。请查看此帖子:http://blogs.oracle.com/jamesbayer/entry/weblogic_scheduling_a_polling

答案 1 :(得分:0)

答案仅供参考,消息不应以这种方式作为复杂计算选择的主题,仅限于某些值比较和模式匹配。

只从队列中获取足够多的消息,

  • 不修改队列或消息
  • 不在队列和消费者之间引入任何新的代理
  • 不是过早消费消息

,在 JMS Transport 选项卡上使用 OSB代理消息选择器字段来设置检查该消息的 JMSTimestamp 标题比当前时间至少早5分钟。

...而且我没有成功快速生成有效的消息选择器,既不是时间戳也不是JMSMessageID(它包含时间在milis中 - 'ID:< 465788。 1372152510324 .0>')

我猜有人在某些特定情况下仍然可以使用它。

答案 2 :(得分:0)

您可以使用Quartz调度程序API跨域创建调度程序。

此致 Sajeev

答案 3 :(得分:0)

我不知道这是否对您有用,但是对我来说很好。也许您可以用它来满足您的需要。

转到您的代理服务的传输详细信息,在高级选项标签下,设置以下字段。

轮询频率(提及频率300秒(5分钟))

物理目录(可能需要在此处输入队列路径)