Java 类org.springframework.web.context.support.ServletRequestHandledEvent 实例源码

项目:lodsve-framework    文件:DebugRequestListener.java   
@Override
public void onApplicationEvent(ServletRequestHandledEvent event) {
    if (!debugMode) {
        logger.debug("the debug switch is false!");
        return;
    }

    if (PATTERNS.isEmpty()) {
        initPattern();
    }

    String url = event.getRequestUrl();
    String client = event.getClientAddress();
    long time = event.getProcessingTimeMillis();
    String method = event.getMethod();

    if (serverProperties.getDebug().getExcludeAddress().contains(client)) {
        return;
    }
    for (Pattern pattern : PATTERNS) {
        if (pattern.matcher(url).matches()) {
            return;
        }
    }
    if (time > serverProperties.getDebug().getMaxProcessingTime()) {
        if (logger.isWarnEnabled()) {
            logger.warn(String.format("The request '%s' from '%s' with method '%s' execute '%d' more than max time '%d'!Please check it!", url, client, method, time, serverProperties.getDebug().getMaxProcessingTime()));
        }
    }

    System.out.println("request process info:");
    System.out.println("begin-----------------");
    System.out.println("time=[" + time + "]");
    System.out.println("url=[" + url + "]");
    System.out.println("client=[" + client + "]");
    System.out.println("method=[" + method + "]");
    System.out.println("end-------------------");
}
项目:spring4-understanding    文件:FrameworkServlet.java   
private void publishRequestHandledEvent(
        HttpServletRequest request, HttpServletResponse response, long startTime, Throwable failureCause) {

    if (this.publishEvents) {
        // Whether or not we succeeded, publish an event.
        long processingTime = System.currentTimeMillis() - startTime;
        int statusCode = (responseGetStatusAvailable ? response.getStatus() : -1);
        this.webApplicationContext.publishEvent(
                new ServletRequestHandledEvent(this,
                        request.getRequestURI(), request.getRemoteAddr(),
                        request.getMethod(), getServletConfig().getServletName(),
                        WebUtils.getSessionId(request), getUsernameForRequest(request),
                        processingTime, failureCause, statusCode));
    }
}
项目:aws-serverless-java-container    文件:LambdaSpringApplicationInitializer.java   
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
    if (springProfiles != null) {
        applicationContext.getEnvironment().setActiveProfiles(springProfiles.toArray(new String[0]));
    }
    applicationContext.setServletContext(servletContext);

    dispatcherConfig = new DefaultDispatcherConfig(servletContext);
    applicationContext.setServletConfig(dispatcherConfig);

    // Configure the listener for the request handled events. All we do here is release the latch
    applicationContext.addApplicationListener(new ApplicationListener<ServletRequestHandledEvent>() {
        @Override
        public void onApplicationEvent(ServletRequestHandledEvent servletRequestHandledEvent) {
            try {
                currentResponse.flushBuffer();
            } catch (IOException e) {
                log.error("Could not flush response buffer", e);
                throw new RuntimeException("Could not flush response buffer", e);
            }
        }
    });

    // Manage the lifecycle of the root application context
    this.addListener(new ContextLoaderListener(applicationContext));

    // Register and map the dispatcher servlet
    dispatcherServlet = new DispatcherServlet(applicationContext);

    if (refreshContext) {
        dispatcherServlet.refresh();
    }

    dispatcherServlet.onApplicationEvent(new ContextRefreshedEvent(applicationContext));
    dispatcherServlet.init(dispatcherConfig);

    notifyStartListeners(servletContext);
}
项目:class-guard    文件:FrameworkServlet.java   
private void publishRequestHandledEvent(HttpServletRequest request, long startTime, Throwable failureCause) {
    if (this.publishEvents) {
        // Whether or not we succeeded, publish an event.
        long processingTime = System.currentTimeMillis() - startTime;
        this.webApplicationContext.publishEvent(
                new ServletRequestHandledEvent(this,
                        request.getRequestURI(), request.getRemoteAddr(),
                        request.getMethod(), getServletConfig().getServletName(),
                        WebUtils.getSessionId(request), getUsernameForRequest(request),
                        processingTime, failureCause));
    }
}
项目:summer    文件:ServletRequestHandledEventListener.java   
@Override
public void onApplicationEvent(ServletRequestHandledEvent servletRequestHandledEvent) {
    logger.info(String.format("total request processing time: %d ms", servletRequestHandledEvent.getProcessingTimeMillis()));
}