如何为条件消息配置wso2企业服务总线

问题描述:

我有一台服务器,我可以从此服务器调用我的web服务。 所以我打电话给网络服务,网络服务给我一个答案,我想根据答案运行应用程序。 例如:如何为条件消息配置wso2企业服务总线

answer=curl -i -X GET "http://myserver.com/getStaus"; 
    switch (answer) 
     { 
      case 'ON': 
       saveToQueue('http://myserver.com/getApp1','ON'); 
       do 
        { 
         retryQueueForSend('ON');    
        }while !(lengthQueueForSend('ON')==0) 
        break; 
      case 'OFF': 
       saveToQueue('http://myserver.com/getApp2','OFF'); 
       do 
        { 
         retryQueueForSend('OFF');    
        }while !(lengthQueueForSend('OFF')==0) 
        break; 

      case 'TimeOut': 
       saveToQueue('http://myserver.com/getApp3','TimeOut'); 
       do 
        { 
         retryQueueForSend('TimeOut');    
        }while !(lengthQueueForSend('TimeOut')==0) 
        break; 
     } 
public void saveToQueue(String LinkOfWebservice,String nameOfQueue) 
{ 
... 
... 
.. 
} 
public void retryQueueForSend(String nameOfQueue) 
{ 
... 
... 
.. 
} 
public int retryQueueForSend(String nameOfQueue) 
{ 
... 
... 
return len; 
} 

所以我想实现的WSO2企业服务总线(ESB)这种情况。 我想我必须使用wso2 Message Broker(MB)。 谢谢你的建议。

+0

你说的 “运行应用程序” 呢? – ycr

您可以使用WSO2 ESB来执行此操作。

使用REST API [1]在“http://myserver.com/getStaus”中调用您的服务。在REST API序列中,您可以切换介体[2]以识别响应(检查ON,OFF或超时)。据此执行你的任务。

对于此实现,您不需要WSO2 MB。

注:我假设你的意思是调用后端或运行的另一个API运行APP1

[1] https://docs.wso2.com/display/ESB500/Working+with+APIs [2] https://docs.wso2.com/display/ESB500/Switch+Mediator

+0

谢谢。我想添加队列,因为我的Apps可能无法运行,并且在尝试运行之后。我认为Message Broker(MB)是必需的。 – user6920966

+0

我不清楚你的情况。如果您将WSO2 MB添加到场景中,则可以通过API来完成。 –

+0

我改变了我的伪代码。 – user6920966