Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package th.in.oneauthen.servlet;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.net.URISyntaxException;
- import java.util.Date;
- import java.util.List;
- import java.util.concurrent.Executors;
- import java.util.concurrent.ScheduledExecutorService;
- import java.util.concurrent.TimeUnit;
- import javax.servlet.ServletConfig;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.http.HttpResponse;
- import org.apache.http.client.ClientProtocolException;
- import org.apache.http.client.HttpClient;
- import org.apache.http.client.methods.HttpGet;
- import org.apache.http.client.utils.URIBuilder;
- import org.apache.http.impl.client.HttpClientBuilder;
- import com.google.gson.Gson;
- import th.in.oneauthen.object.HelpcheckDB;
- import th.in.oneauthen.object.SystemConfigDB;
- import th.in.oneauthen.object.DAO.HelpcheckDAO;
- import th.in.oneauthen.object.DAO.SystemConfigDAO;
- @WebServlet(description = "test for loadstart", urlPatterns = { "/HealthCheckServlet" },loadOnStartup = 5)
- public class HealthCheckServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- public static String RESPONSE_QUERY = "query";
- /**
- * @see HttpServlet#HttpServlet()
- */
- public HealthCheckServlet() {
- super();
- // TODO Auto-generated constructor stub
- }
- /**
- * @see Servlet#init(ServletConfig)
- */
- public void init(ServletConfig config) throws ServletException {
- Runnable runnable = new Runnable() {
- public void run() {
- // task to run goes here
- query();
- try {
- check() ;
- } catch (URISyntaxException | IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- };
- ScheduledExecutorService service = Executors
- .newSingleThreadScheduledExecutor();
- service.scheduleAtFixedRate(runnable, 0, 1, TimeUnit.MINUTES);
- }
- /**
- * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // TODO Auto-generated method stub
- response.getWriter().append("Served at: ").append(request.getContextPath());
- }
- /**
- * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // TODO Auto-generated method stub
- doGet(request, response);
- }
- public static void check() throws URISyntaxException, ClientProtocolException, IOException {
- BufferedReader br = null;
- String output;
- StringBuilder responseBuilder = null;
- HttpClient httpClient = HttpClientBuilder.create().build();
- URIBuilder uriBuilder;
- String checkURL = null;
- try {
- SystemConfigDB sysConfig = new SystemConfigDAO().find("CHECK_URL");
- if (sysConfig != null)
- checkURL = sysConfig.getValue();
- } catch (Exception e) {
- e.printStackTrace();
- }
- int start = (int) System.currentTimeMillis();
- uriBuilder = new URIBuilder(checkURL);
- HttpGet getMethod = new HttpGet(uriBuilder.build());
- HttpResponse httpResponse = httpClient.execute(getMethod);
- int responseCode = httpResponse.getStatusLine().getStatusCode();
- int end = (int) (System.currentTimeMillis()-start);
- System.out.println(end +"ms");
- if (responseCode == 201 || responseCode == 200) {
- br = new BufferedReader(new InputStreamReader((httpResponse.getEntity().getContent())));
- responseBuilder = new StringBuilder();
- while ((output = br.readLine()) != null) {
- responseBuilder.append(output);
- }
- System.out.println(responseBuilder.toString());
- System.out.println(new Date());
- HelpcheckDAO checkDao = new HelpcheckDAO();
- HelpcheckDB check = new HelpcheckDB();
- check.setStatus(responseBuilder.toString());
- check.setTimeUse(end);
- check.setTimeNow(new Date());
- try {
- checkDao.save(check);
- } catch (Exception e) {
- e.printStackTrace();
- }
- } else {
- System.out.println("Failed : HTTP error code : " + httpResponse.getStatusLine().getStatusCode());
- }
- }
- public static void query() {
- HelpcheckDAO check = new HelpcheckDAO();
- List<HelpcheckDB> listCheck = check.getList();
- RESPONSE_QUERY = new Gson().toJson(listCheck);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement