import javax.servlet.http.HttpServletRequest;\r
import javax.servlet.http.HttpServletResponse;\r
\r
-import org.apache.log4j.Logger;\r
+import com.att.eelf.configuration.EELFLogger;\r
+import com.att.eelf.configuration.EELFManager;\r
import org.eclipse.jetty.continuation.Continuation;\r
import org.eclipse.jetty.continuation.ContinuationSupport;\r
-import org.eclipse.jetty.server.AbstractHttpConnection;\r
-import org.eclipse.jetty.server.Request;\r
+import org.eclipse.jetty.server.*;\r
import org.onap.dmaap.datarouter.provisioning.beans.Parameters;\r
\r
/**\r
private static int m_minutes = 0; // sampling period\r
private static int action = ACTION_DROP; // action to take (throttle or drop)\r
\r
- private static Logger logger = Logger.getLogger("org.onap.dmaap.datarouter.provisioning.internal");\r
+ private static EELFLogger logger = EELFManager.getInstance().getLogger("InternalLog");\r
private static Map<String, Counter> map = new HashMap<String, Counter>();\r
private static final Timer rolex = new Timer();\r
\r
}\r
}\r
} catch (ClassNotFoundException e) {\r
- logger.warn("Class " + JETTY_REQUEST + " is not available; this filter requires Jetty.");\r
+ logger.warn("Class " + JETTY_REQUEST + " is not available; this filter requires Jetty.", e);\r
}\r
}\r
logger.info("ThrottleFilter is DISABLED for /publish requests.");\r
\r
public void dropFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain)\r
throws IOException, ServletException {\r
- int rate = getRequestRate((HttpServletRequest) request);\r
+ int rate = getRequestRate(request);\r
if (rate >= n_requests) {\r
// drop request - only works under Jetty\r
- String m = String.format("Dropping connection: %s %d bad connections in %d minutes", getConnectionId((HttpServletRequest) request), rate, m_minutes);\r
+ String m = String.format("Dropping connection: %s %d bad connections in %d minutes", getConnectionId(request), rate, m_minutes);\r
logger.info(m);\r
Request base_request = (request instanceof Request)\r
? (Request) request\r
- : AbstractHttpConnection.getCurrentConnection().getRequest();\r
- base_request.getConnection().getEndPoint().close();\r
+ : HttpConnection.getCurrentConnection().getHttpChannel().getRequest();\r
+ base_request.getHttpChannel().getEndPoint().close();\r
} else {\r
chain.doFilter(request, response);\r
}\r
public void throttleFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain)\r
throws IOException, ServletException {\r
// throttle request\r
- String id = getConnectionId((HttpServletRequest) request);\r
- int rate = getRequestRate((HttpServletRequest) request);\r
+ String id = getConnectionId(request);\r
+ int rate = getRequestRate(request);\r
Object results = request.getAttribute(THROTTLE_MARKER);\r
if (rate >= n_requests && results == null) {\r
- String m = String.format("Throttling connection: %s %d bad connections in %d minutes", getConnectionId((HttpServletRequest) request), rate, m_minutes);\r
+ String m = String.format("Throttling connection: %s %d bad connections in %d minutes", getConnectionId(request), rate, m_minutes);\r
logger.info(m);\r
Continuation continuation = ContinuationSupport.getContinuation(request);\r
continuation.suspend();\r
t = times.get(0);\r
}\r
} catch (IndexOutOfBoundsException e) {\r
- // ignore\r
+ logger.trace("Exception: " + e.getMessage(), e);\r
}\r
return times.size();\r
}\r