Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 监视Rest服务是否启动并相应地采取行动_Web Services_Jakarta Ee_Weblogic_Osb - Fatal编程技术网

Web services 监视Rest服务是否启动并相应地采取行动

Web services 监视Rest服务是否启动并相应地采取行动,web-services,jakarta-ee,weblogic,osb,Web Services,Jakarta Ee,Weblogic,Osb,我有一个要求,我们必须监控rest服务。如果服务端点启动,那么我们将从该端点调用相应的服务,否则我们将把值放入本地数据库中 也就是说,如果Rest服务关闭,我们将通过插入本地数据库来执行事务。一旦服务启动,我们将从本地数据库获取数据并调用相应的web服务 我们使用的技术是Oracle Service Bus 11G和jdk 1.7 我们的应用程序部署在Linux机器上托管的Web逻辑服务器中 如何以更好的方式实现此功能?在不检查服务是否可用以查看其状态的情况下发送第一条消息。然后您就知道了—如果

我有一个要求,我们必须监控rest服务。如果服务端点启动,那么我们将从该端点调用相应的服务,否则我们将把值放入本地数据库中

也就是说,如果Rest服务关闭,我们将通过插入本地数据库来执行事务。一旦服务启动,我们将从本地数据库获取数据并调用相应的web服务

我们使用的技术是Oracle Service Bus 11G和jdk 1.7

我们的应用程序部署在Linux机器上托管的Web逻辑服务器中


如何以更好的方式实现此功能?

在不检查服务是否可用以查看其状态的情况下发送第一条消息。然后您就知道了—如果您收到一些2xx响应或其他响应,您可以继续发送,如果您收到一些5xx响应,请等待/重试。

在您的业务服务中设置一个合理的读取/连接超时值。在代理服务器中添加全局错误处理程序;添加使用可连接到本地数据库的JCA适配器的业务服务。如果目标端点uri不可用,请捕获代理服务中服务总线引发的连接错误,分析错误处理程序中的错误,最后,如果是连接错误,使用基于JCA的业务服务将本地数据库添加到数据中。@欧几里德:我们不能依赖连接超时,因为web服务响应时间不是恒定的。如果我们在连接超时时回复,这也会增加延迟。这不是问题。如果端点没有响应,它将给出连接超时,并且它将引发一个错误,该错误将被您的错误处理程序捕获。但是我们不能等待连接超时。对于连接超时,我们必须等待30秒。shi@partha,您需要其他方法提前知道服务何时关闭。例如,一旦发现非响应端点已关闭,则将其标记为永久脱机。