Spring工作时很酷。但我无法理解为单线连接处理间歇性故障/重试问题的最佳方法。
让我举两个具体的例子:
在这两种情况下,我们都有一个远程服务器,是的,它是相当可靠的,但如果它在特定容器类的初始化期间发生打嗝(比如一个容纳一些Vault秘密或SessionFactory),那么可以做什么呢?重试了吗?
答案 0 :(得分:0)
Spring Vault不提供重试机制。您可以使用RetryTemplate
与Spring 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服务运行正常/已启动但情况并非如此。
重试在某种程度上会有所帮助,但它不是一个解决方案,而是一个补丁。