ESB重新启动或重新部署后,WSO2 ESB端点无提示失败

时间:2018-04-03 14:33:04

标签: wso2 edit esb endpoint

使用JDK 1.8.0_121在Windows Server 2012上运行EI 6.1.1 ESB配置文件

这个奇怪的问题! :

我有一个API,它以“正常”方式调用后端服务,其中一个端点调用代理服务(在同一个ESB服务器上运行),然后将请求代理回后端系统。所有这些只是内部网络。

如果我将端点作为CAR文件的一部分部署到生产服务器,那么端点的行为几乎就像它不存在一样。没有错误被记录,并且通过端点发送的有效负载以某种方式通过API作为响应返回给客户端。(不确定如何调用故障序列并且没有记录错误)

它必然会被命中的代理服务(通过将完整的日志中介作为代理中的第一个中介进行检查),并且端点没有显示任何失败或暂停状态。

如果我通过管理控制台使用相同的XML创建端点,那么一切正常。重新启动ESB配置文件。重启后,其行为如上所述。

我发现在上述任何一种情况下 - 如果我通过管理控制台编辑端点,MAKE NO CHANGES并立即保存 - 那么一切都会再次运行 - 显然直到下一次ESB配置文件重新启动。

这是关注的终点:

<endpoint xmlns="http://ws.apache.org/ns/synapse" name="Sworks">
   <wsdl uri="http://intapi.mycompany.co.uk/services/SworksPxy?wsdl" service="SworksPxy" port="SworksPxyHttpSoap11Endpoint">
      <suspendOnFailure>
         <progressionFactor>1.0</progressionFactor>
      </suspendOnFailure>
      <markForSuspension>
         <retriesBeforeSuspension>0</retriesBeforeSuspension>
         <retryDelay>0</retryDelay>
      </markForSuspension>
   </wsdl>
</endpoint>

任何帮助非常感谢。显然这很令人沮丧,因为这意味着每次服务器重新启动或ESB配置文件重新启动时我们的应用程序都会失败,直到有人可以通过控制台进入并编辑/保存端点。

更新:这似乎与端点有关,它的目标位于同一个ESB服务器上。如果我将碳应用程序未修改部署到我的本地运行时环境(通过eclipse) - 一切正常。然后,端点仍在引用生产服务器上的代理服务。 如果我更新端点以指向部署在本地运行时环境中的代理服务,则会再现其失败行为。再次 - 编辑/保存修复它。

1 个答案:

答案 0 :(得分:0)

您可以检查端点是否在文件系统上创建? std::atomic_signal_fence(std::memory_order_seq_cst),如果端点在那里,则删除端点,删除CAR文件并重启服务器,然后在重新启动服务器后应用CAR文件,然后检查