如何设置Spring Context来恢复/处理临时资源故障

时间:2017-04-03 17:53:24

标签: java spring

Spring工作时很酷。但我无法理解为单线连接处理间歇性故障/重试问题的最佳方法。

让我举两个具体的例子:

  • 正在连接的SessionFactory
  • 正在连接的Hashicorp Vault

在这两种情况下,我们都有一个远程服务器,是的,它是相当可靠的,但如果它在特定容器类的初始化期间发生打嗝(比如一个容纳一些Vault秘密或SessionFactory),那么可以做什么呢?重试了吗?

1 个答案:

答案 0 :(得分:0)

Spring Vault不提供重试机制。您可以使用RetryTemplateSpring Retry挂钩var output = $("#output"); output.removeClass("hide"); output.hide(); $("#asset").on('change', function() { var coin = $("#asset").val(); $.ajax({ type: "GET", url: "https://www.alphavantage.co/queryfunction=CURRENCY_EXCHANGE_RATE&from_currency=" + coin + "&to_currency=GBP&apikey=API_KEY_HERE", success: function(data) { var response = JSON.parse(data); alert(response['Realtime Currency Exchange Rate']['5. Exchange Rate']); } }); output.slideDown(); });

重试是一种补偿形式。在这种情况下(容器在第一次请求时无法正常启动/不健康),看起来您缺乏启动和运行状况检查的正确编排。您假设应用程序启动时Vault服务运行正常/已启动但情况并非如此。

重试在某种程度上会有所帮助,但它不是一个解决方案,而是一个补丁。