java - 发送 url 时发送回 xml 响应

标签 java

我的任务是检查我的程序是否在服务器上正常运行。场景是这样的:一个 URL 被发送到持续运行的程序,如果它正在运行,它应该回复状态 OK很好。我无法理解如何做的过程。任何人都可以解释一下。

最佳答案

好的,我假设您想为您的应用程序编写某种健康检查页面。就这样吧。

package test.naishe.so;

public class HealthCheck extends HttpServlet {

    private static final long serialVersionUID = 940861886429788526L;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {

        int response = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;

        boolean checkServices = true;
        //optional: assumming you wanted to do health check on various services (eg. DB service) and have a utility class for that
        checkServices = CheckServices.checkAll();

        if(checkServices)
            response = HttpServletResponse.SC_OK;

        String out =
            "<healthCheck>" +
            "<services>" +
                (checkServices?"OK":"ERROR")
            "</services>" +
            "</healthCheck>"
            ;

        resp.setStatus(response);
        resp.getWriter().println(out);

    }
}

在您的 web.xml 中添加以下内容:

  <servlet>
    <servlet-name>healthCheck</servlet-name>
    <servlet-class>test.naishe.so.HealthCheck</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>healthCheck</servlet-name>
    <url-pattern>/check_health</url-pattern>
  </servlet-mapping>

您可以从 <base_url>/check_health 访问此页面在你的本地机器上,http://localhost[:port][/app_name]/check_health

关于java - 发送 url 时发送回 xml 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8530564/

相关文章:

java - 将我们的应用程序从Oracle JRE迁移到openJDK JRE是否有任何影响?

java - 无法实例化类-android编程

java - 如何在 Java 迭代器中使用 ExecutorService,而不会有资源泄漏的风险

java - 不使用 if else 计算范围的有效方法

java - 正则表达式在 Java 中未按预期工作

java - OpenTSDB 未找到 JDK

java - BitSet 在 List、Set 上的用例

java - 使用 POI 从 .xls 升级到 .xlsx

java - 如何在JmonkeyEngine3中通过物理控制旋转空间?

java - 如何获取其他类的值?