【问题标题】:Java Restlet gets 503/504 error, stops runningJava Restlet 出现 503/504 错误,停止运行
【发布时间】:2015-09-14 19:15:34
【问题描述】:

我有一个 Java 程序设置为每秒使用 Restlet 向服务器发出请求,但每周在同一时间,他们在我运行程序的几个小时内进行大约一分钟的维护。

结果,我收到了几个 504 错误,然后是一个 503 错误,然后由于某种原因我的程序停止运行。它只是在 503 错误之后不会继续。它说:

检测到可恢复错误 (503),2000 毫秒后再次尝试

但它不会再次尝试。由于我已将其设置为每秒继续请求服务器(一旦遇到“可恢复错误”就会停止请求),我想知道是否有办法让程序忽略 504 和 503 错误和就像什么都没发生一样继续。

【问题讨论】:

  • 请发布代码的一部分(尽可能简单),显示每秒进行一次调用的循环(以及如何设置 try/catch)
  • 您要求我们猜测您的编程出了什么问题,但没有向我们展示。你鼓励投机性的答案。

标签: java restlet http-status-code-503 http-status-code-504


【解决方案1】:

您应该捕获异常并再次恢复应用程序。您是否有逻辑在 catch 块内返回或恢复应用程序。

【讨论】:

  • 他们有什么例外?我尝试捕获异常,但它并没有改变任何东西,而且我找不到任何关于它的具体信息。
  • “它没有改变任何东西”是什么意思?
  • 我的意思是捕获异常和不捕获异常之间没有区别。它似乎没有引发异常。
【解决方案2】:

我了解您的客户端程序是使用 Restlet 开发的。 您可以通过调用 ClientResource#setRetryOnError(false) 将客户端资源设置为不重试错误,并捕获异常,如上所述。

【讨论】:

  • 这可能会有所帮助。我会试试看会发生什么。
猜你喜欢
  • 2017-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-04
  • 2018-06-14
  • 2017-01-04
  • 2015-03-24
  • 1970-01-01
相关资源
最近更新 更多