项目初始导入
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package com.nis.interceptor;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.nis.datasource.CustomerContextHolder;
|
||||
|
||||
public class DataSourceBInterceptor implements HandlerInterceptor {
|
||||
Logger logger = Logger.getLogger(DataSourceBInterceptor.class);
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request,
|
||||
HttpServletResponse response, Object handler) throws Exception {
|
||||
logger.info("开启数据源配置操作库---");
|
||||
CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_B);//开启数据源B
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postHandle(HttpServletRequest request,
|
||||
HttpServletResponse response, Object handler,
|
||||
ModelAndView modelAndView) throws Exception {
|
||||
logger.info("postHandle---");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCompletion(HttpServletRequest request,
|
||||
HttpServletResponse response, Object handler, Exception ex)
|
||||
throws Exception {
|
||||
|
||||
CustomerContextHolder.clearCustomerType();
|
||||
logger.info("释放数据源配置操作库---");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.nis.interceptor;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.nis.datasource.CustomerContextHolder;
|
||||
import com.nis.util.Constants;
|
||||
|
||||
public class DataSourceCInterceptor implements HandlerInterceptor {
|
||||
Logger logger = Logger.getLogger(DataSourceCInterceptor.class);
|
||||
String searchActiveSys="";
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request,
|
||||
HttpServletResponse response, Object handler) throws Exception {
|
||||
searchActiveSys=request.getParameter("searchActiveSys");
|
||||
if(searchActiveSys == null
|
||||
|| !(Constants.ACTIVESYS_A.equals(searchActiveSys)
|
||||
|| Constants.ACTIVESYS_C.equals(searchActiveSys))
|
||||
) searchActiveSys=Constants.ACTIVESYS_B;
|
||||
if(Constants.ACTIVESYS_A.equals(searchActiveSys)){
|
||||
logger.info("开启数据源日志A操作库---"+System.currentTimeMillis());
|
||||
CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_F);//开启数据源F
|
||||
}else if(Constants.ACTIVESYS_C.equals(searchActiveSys)){
|
||||
logger.info("开启数据源日志C操作库---"+System.currentTimeMillis());
|
||||
CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_G);//开启数据源F
|
||||
}else{
|
||||
logger.info("开启数据源日志B操作库---"+System.currentTimeMillis());
|
||||
CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_C);//开启数据源C
|
||||
}
|
||||
logger.info("日志数据源开启成功---"+System.currentTimeMillis());
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
|
||||
throws Exception {
|
||||
logger.info("postHandle---");
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterCompletion(HttpServletRequest request,
|
||||
HttpServletResponse response, Object handler, Exception ex)
|
||||
throws Exception {
|
||||
CustomerContextHolder.clearCustomerType();
|
||||
logger.info("释放数据源日志操作库---");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.nis.interceptor;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.nis.datasource.CustomerContextHolder;
|
||||
|
||||
public class DataSourceDInterceptor implements HandlerInterceptor {
|
||||
Logger logger = Logger.getLogger(DataSourceDInterceptor.class);
|
||||
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request,
|
||||
HttpServletResponse response, Object handler) throws Exception {
|
||||
logger.info("开启测试配置库---");
|
||||
CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_D);//开启数据源C
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
|
||||
throws Exception {
|
||||
logger.info("postHandle---");
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterCompletion(HttpServletRequest request,
|
||||
HttpServletResponse response, Object handler, Exception ex)
|
||||
throws Exception {
|
||||
CustomerContextHolder.clearCustomerType();
|
||||
logger.info("释放测试配置库---");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.nis.interceptor;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.nis.datasource.CustomerContextHolder;
|
||||
|
||||
public class DataSourceEInterceptor implements HandlerInterceptor {
|
||||
Logger logger = Logger.getLogger(DataSourceEInterceptor.class);
|
||||
|
||||
@Override
|
||||
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
|
||||
throws Exception {
|
||||
CustomerContextHolder.clearCustomerType();
|
||||
logger.info("释放数据静控操作库---");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
|
||||
throws Exception {
|
||||
logger.info("postHandle---");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
|
||||
logger.info("开启数据源静控操作库---");
|
||||
CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_E);//开启数据源C
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
74
src/main/java/com/nis/interceptor/LogInterceptor.java
Normal file
74
src/main/java/com/nis/interceptor/LogInterceptor.java
Normal file
@@ -0,0 +1,74 @@
|
||||
package com.nis.interceptor;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.core.NamedThreadLocal;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.nis.util.DateUtils;
|
||||
import com.nis.util.LogUtils;
|
||||
import com.nis.web.service.BaseService;
|
||||
|
||||
public class LogInterceptor extends BaseService implements HandlerInterceptor{
|
||||
|
||||
private static final ThreadLocal<Long> timeThreadLocal =
|
||||
new NamedThreadLocal<Long>("ThreadLocal StartTime");
|
||||
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
|
||||
throws Exception {
|
||||
long beginTime = System.currentTimeMillis();//1、开始时间
|
||||
timeThreadLocal.set(beginTime); //线程绑定变量(该数据只有当前请求的线程可见)
|
||||
if (logger.isDebugEnabled()){
|
||||
logger.debug("开始计时: {} URI: {}", new SimpleDateFormat("hh:mm:ss.SSS")
|
||||
.format(beginTime), request.getRequestURI());
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
|
||||
ModelAndView modelAndView) throws Exception {
|
||||
if (modelAndView != null){
|
||||
logger.info("ViewName: " + modelAndView.getViewName());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
|
||||
throws Exception {
|
||||
long beginTime = timeThreadLocal.get();//得到线程绑定的局部变量(开始时间)
|
||||
long endTime = System.currentTimeMillis(); //2、结束时间
|
||||
|
||||
long consumerTime = endTime - beginTime;
|
||||
|
||||
// 打印JVM信息。
|
||||
if (logger.isDebugEnabled()){
|
||||
|
||||
Object[] params = new Object[]{
|
||||
new SimpleDateFormat("hh:mm:ss.SSS").format(endTime)
|
||||
, DateUtils.formatDateTime(consumerTime)
|
||||
,request.getRequestURI()
|
||||
,Runtime.getRuntime().maxMemory()/1024/1024
|
||||
,Runtime.getRuntime().totalMemory()/1024/1024
|
||||
,Runtime.getRuntime().freeMemory()/1024/1024
|
||||
,(Runtime.getRuntime().maxMemory()-Runtime.getRuntime().totalMemory()+Runtime.getRuntime().freeMemory())/1024/1024};
|
||||
logger.debug("计时结束:{} 耗时:{} URI: {} 最大内存: {}m 已分配内存: {}m 已分配内存中的剩余空间: {}m 最大可用内存: {}m",params);
|
||||
|
||||
}
|
||||
|
||||
// 保存日志
|
||||
LogUtils.saveLog(request, handler, ex, null, consumerTime);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user