Package com.iggroup.oss.sample.web.filter

Source Code of com.iggroup.oss.sample.web.filter.MonitorFilter

package com.iggroup.oss.sample.web.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;

import com.jamonapi.Monitor;
import com.jamonapi.MonitorFactory;

/**
* Basic Jamon filter for gathering per IP address statistics.
*/
public class MonitorFilter extends HttpServlet implements Filter {

  @Override
  public void init(FilterConfig filterConfig) {
  }

  @Override
  public void doFilter(ServletRequest request, ServletResponse response,
      FilterChain filterChain) throws IOException, ServletException {

    Monitor monitor = MonitorFactory.start(request.getRemoteAddr());

    try {
      filterChain.doFilter(request, response);
    } finally {
      monitor.stop();
    }
  }

  protected String getURI(ServletRequest request) {
    if (request instanceof HttpServletRequest) {
      return ((HttpServletRequest) request).getRequestURI();
    } else {
      return "Not an HttpServletRequest";
    }
  }

  @Override
  public void destroy() {
  }

}
TOP

Related Classes of com.iggroup.oss.sample.web.filter.MonitorFilter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.