Author: remm
Date: Thu Jan 3 23:06:38 2019
New Revision: 1850271
URL: http://svn.apache.org/viewvc?rev=1850271&view=rev
Log:
Add very simple health check valve.
Added:
tomcat/trunk/java/org/apache/catalina/valves/HealthCheckValve.java (with
props)
Modified:
tomcat/trunk/webapps/docs/changelog.xml
Added: tomcat/trunk/java/org/apache/catalina/valves/HealthCheckValve.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/HealthCheckValve.java?rev=1850271&view=auto
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/valves/HealthCheckValve.java (added)
+++ tomcat/trunk/java/org/apache/catalina/valves/HealthCheckValve.java Thu Jan
3 23:06:38 2019
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.catalina.valves;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+
+import org.apache.catalina.connector.Request;
+import org.apache.catalina.connector.Response;
+import org.apache.tomcat.util.buf.MessageBytes;
+
+
+/**
+ * Simple Valve that responds to cloud orchestrators health checks.
+ */
+public class HealthCheckValve extends ValveBase {
+
+ private static final String UP =
+ "{\n" +
+ " \"status\": \"UP\",\n" +
+ " \"checks\": []\n" +
+ "}";
+ private String path = "/health";
+
+ public HealthCheckValve() {
+ super(true);
+ }
+
+ public final String getPath() {
+ return path;
+ }
+
+ public final void setPath(String path) {
+ this.path = path;
+ }
+
+ @Override
+ public void invoke(Request request, Response response)
+ throws IOException, ServletException {
+ MessageBytes requestPathMB = request.getRequestPathMB();
+ if (requestPathMB.equals(path)) {
+ response.setContentType("application/json");
+ response.getOutputStream().print(UP);
+ } else {
+ getNext().invoke(request, response);
+ }
+ }
+}
Propchange: tomcat/trunk/java/org/apache/catalina/valves/HealthCheckValve.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1850271&r1=1850270&r2=1850271&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Thu Jan 3 23:06:38 2019
@@ -77,6 +77,9 @@
URL may be used for the <code>docBase</code> as this has not been the
case for quite some time. (markt)
</fix>
+ <update>
+ Add basic health check valve. (remm)
+ </update>
</changelog>
</subsection>
<subsection name="Coyote">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]