0

我想每 60 秒后重复运行代理(通过)或序列(通过类型),所以我从任务计划程序开始,但我无法弄清楚如何使用任务计划程序实现我的要求。我想每 60 秒后执行一次代理或序列。就像在 wso2 BPS 中,我们可以使用循环来实现这一点,同样,esb 中是否有任何东西可以安排在一定时间间隔后运行代理或序列?期待您的回答。提前致谢。

是否有可能在 wso2 esb 中实现上述要求。请帮忙。

4

2 回答 2

5

您可以使用该任务来运行在您的 ESB 中配置的代理服务。您需要如下配置任务。

这是访问 ESB 附带的 SimpleStockQuoteService 示例服务的示例配置。您可以替换“to”属性的值以匹配您的代理端点并设置所需的消息。

<task class="org.apache.synapse.startup.tasks.MessageInjector" name="CheckPrice">
 <property name="to" value="http://localhost:9000/services/SimpleStockQuoteService"/>
 <property name="soapAction" value="urn:getQuote"/>
 <property name="message">
               <m0:getQuote xmlns:m0="http://services.samples">
                   <m0:request>
                       <m0:symbol>IBM</m0:symbol>
                   </m0:request>
               </m0:getQuote>
       </property>
       <trigger interval="5"/>
</task>
于 2013-06-17T07:30:06.257 回答
0

表单 WSO2 ESB 版本 4.7.0 新属性添加到任务组件。使用这些我们可以从我们的任务调度程序中调用代理服务或序列。下面是我调用代理服务的示例代码

<task name="DBPOller"
         class="org.apache.synapse.startup.tasks.MessageInjector"
         group="synapse.simple.quartz">
      <trigger count="2" interval="5"/>
      <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"
                name="soapAction"
                value="urn:getRequestForm"/>
      <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="message">
         <p:getRequestForm xmlns:p="http://ws.wso2.org/dataservice"><!--Exactly 1 occurrence--><p:isRead>n</p:isRead>
         </p:getRequestForm>
      </property>
      <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"
                name="injectTo"
                value="proxy"/>
      <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"
                name="proxyName"
                value="DBPollerService"/>
   </task>
于 2013-10-18T07:18:13.713 回答