All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ebay.jetstream.management.PingServlet Maven / Gradle / Ivy

/*******************************************************************************
 *  Copyright © 2012-2015 eBay Software Foundation
 *  This program is dual licensed under the MIT and Apache 2.0 licenses.
 *  Please see LICENSE for more information.
 *******************************************************************************/
package com.ebay.jetstream.management;



import java.io.IOException;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.jmx.export.annotation.ManagedResource;

import com.ebay.jetstream.xmlser.XSerializable;

/**
 * 
 * @author [email protected] ([email protected])
 * 
 */

@ManagedResource(objectName = "Management", description = "PingServlet")
public class PingServlet extends HttpServlet implements XSerializable {

  private static final long serialVersionUID = 1L;
 
 
  public PingServlet() {
   
  }
  
  
  public void init() {
	  Management.removeBeanOrFolder("Management/LBPingServlet"); 
	  Management.addBean("LBPingServlet", this);
  }
  
  public void destroy() {
	  
  }

 

 

  @SuppressWarnings("unchecked")
  @Override
  public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

	  //
      // Create a DateFormatter object for displaying date information.
      //
	 
      DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sss'Z'");
      

     //
      // Get date and time information in milliseconds
      //
      long now = System.currentTimeMillis();

      //
      // Create a calendar object that will convert the date and time value
      // in milliseconds to date. We use the setTimeInMillis() method of the
      // Calendar object.
      //
      Calendar calendar = Calendar.getInstance();
      calendar.setTimeInMillis(now);
    
	
	String respStr = "status=AVAILABLE&ServeTraffic=true&host" + InetAddress.getLocalHost().getHostName() + "&time=" + formatter.format(calendar.getTime());
    response.setContentType("text/plain");
    PrintWriter writer = response.getWriter();
    writer.append(respStr);
    writer.flush();
    response.setContentLength(respStr.length());
        
  }

  
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy