1、删除多余的数据源和数据源拦截器,将行为日志迁到MySql上,并在日志查询接口上添加Blob类型转换工具;
2、修改DNS响应策略配置 reqStrateId验证条件; 3、修改maat.xml,存储结构结尾无\n的都加上。
This commit is contained in:
@@ -19,21 +19,21 @@ public class DataSourceCInterceptor implements HandlerInterceptor {
|
||||
@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());
|
||||
// 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("开启数据源日志操作库---"+System.currentTimeMillis());
|
||||
CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_C);//开启数据源C
|
||||
}
|
||||
// }
|
||||
logger.info("日志数据源开启成功---"+System.currentTimeMillis());
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ public class SQLHelper {
|
||||
} else if (dataSource.equals(CustomerContextHolder.DATA_SOURCE_B)) {
|
||||
return "oracle";
|
||||
} else if (dataSource.equals(CustomerContextHolder.DATA_SOURCE_C)) {
|
||||
return "oracle";
|
||||
return "mysql";
|
||||
} else if (dataSource.equals(CustomerContextHolder.DATA_SOURCE_D)) {
|
||||
return "oracle";
|
||||
} else if (dataSource.equals(CustomerContextHolder.DATA_SOURCE_F)) {
|
||||
|
||||
111
src/main/java/com/nis/util/BlobTypeHandler.java
Normal file
111
src/main/java/com/nis/util/BlobTypeHandler.java
Normal file
@@ -0,0 +1,111 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package com.nis.util;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.sql.Blob;
|
||||
import java.sql.CallableStatement;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.ibatis.type.BaseTypeHandler;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
/**
|
||||
* @ClassName:BlobTypeHandler
|
||||
* @Description:TODO(这里用一句话描述这个类的作用)
|
||||
* @author (zdx)
|
||||
* @date 2018年6月25日 下午2:11:03
|
||||
* @version V1.0
|
||||
*/
|
||||
public class BlobTypeHandler extends BaseTypeHandler<String> {
|
||||
|
||||
// ###指定字符集
|
||||
private static final String DEFAULT_CHARSET = "utf-8";
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.apache.ibatis.type.BaseTypeHandler#setNonNullParameter(java.sql.
|
||||
* PreparedStatement, int, java.lang.Object,
|
||||
* org.apache.ibatis.type.JdbcType)
|
||||
*/
|
||||
@Override
|
||||
public void setNonNullParameter(PreparedStatement ps, int i,
|
||||
String parameter, JdbcType jdbcType) throws SQLException {
|
||||
// TODO Auto-generated method stub
|
||||
ByteArrayInputStream bis;
|
||||
try {
|
||||
// / ###把String转化成byte流
|
||||
bis = new ByteArrayInputStream(parameter.getBytes(DEFAULT_CHARSET));
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
throw new RuntimeException("Blob Encoding Error!");
|
||||
}
|
||||
ps.setBinaryStream(i, bis, parameter.length());
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.apache.ibatis.type.BaseTypeHandler#getNullableResult(java.sql.ResultSet
|
||||
* , java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public String getNullableResult(ResultSet rs, String columnName)
|
||||
throws SQLException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
Blob blob = rs.getBlob(columnName);
|
||||
byte[] returnValue = null;
|
||||
if (null != blob) {
|
||||
returnValue = blob.getBytes(1, (int) blob.length());
|
||||
}
|
||||
try {
|
||||
// ###把byte转化成string
|
||||
return new String(returnValue, DEFAULT_CHARSET);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
throw new RuntimeException("Blob Encoding Error!");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.apache.ibatis.type.BaseTypeHandler#getNullableResult(java.sql.ResultSet
|
||||
* , int)
|
||||
*/
|
||||
@Override
|
||||
public String getNullableResult(ResultSet rs, int columnIndex)
|
||||
throws SQLException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.apache.ibatis.type.BaseTypeHandler#getNullableResult(java.sql.
|
||||
* CallableStatement, int)
|
||||
*/
|
||||
@Override
|
||||
public String getNullableResult(CallableStatement cs, int columnIndex)
|
||||
throws SQLException {
|
||||
// TODO Auto-generated method stub
|
||||
Blob blob = cs.getBlob(columnIndex);
|
||||
byte[] returnValue = null;
|
||||
if (null != blob) {
|
||||
returnValue = blob.getBytes(1, (int) blob.length());
|
||||
}
|
||||
try {
|
||||
return new String(returnValue, DEFAULT_CHARSET);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
throw new RuntimeException("Blob Encoding Error!");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -7,12 +7,12 @@
|
||||
<result column="VERSION" jdbcType="VARCHAR" property="version" />
|
||||
<result column="OPACTION" jdbcType="INTEGER" property="opAction" />
|
||||
<result column="OPTIME" jdbcType="TIMESTAMP" property="opTime" />
|
||||
<result column="REQUEST_CONTENT" jdbcType="CLOB" property="requestContent" />
|
||||
<result column="REQUEST_CONTENT" jdbcType="BLOB" property="requestContent" typeHandler="com.nis.util.BlobTypeHandler"/>
|
||||
<result column="REQUEST_TIME" jdbcType="TIMESTAMP" property="requestTime" />
|
||||
<result column="CONSUMER_TIME" jdbcType="BIGINT" property="consumerTime" />
|
||||
<result column="REQUEST_IP" jdbcType="VARCHAR" property="requestIp" />
|
||||
<result column="BUSINESS_CODE" jdbcType="INTEGER" property="businessCode" />
|
||||
<result column="EXCEPTION_INFO" jdbcType="VARCHAR" property="exceptionInfo" />
|
||||
<result column="EXCEPTION_INFO" jdbcType="BLOB" property="exceptionInfo" typeHandler="com.nis.util.BlobTypeHandler"/>
|
||||
<result column="SERVER_IP" jdbcType="VARCHAR" property="serverIp" />
|
||||
<result column="TRACE_CODE" jdbcType="VARCHAR" property="traceCode" />
|
||||
</resultMap>
|
||||
@@ -90,7 +90,7 @@
|
||||
<insert id="insert" parameterType="com.nis.domain.ServicesRequestLog">
|
||||
insert into SERVICES_REQUEST_LOG
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
ID,
|
||||
|
||||
<if test="operator != null">
|
||||
OPERATOR,
|
||||
</if>
|
||||
@@ -129,7 +129,7 @@
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
SEQ_SERVICES_REQUEST_LOG.Nextval,
|
||||
|
||||
<if test="operator != null">
|
||||
#{operator,jdbcType=VARCHAR},
|
||||
</if>
|
||||
|
||||
@@ -123,7 +123,7 @@ public class SaveRequestLogThread implements Runnable {
|
||||
try {
|
||||
reader=request.getReader();
|
||||
while((line=reader.readLine())!=null){
|
||||
bulider.append(line);
|
||||
bulider.append(new String(line.getBytes(),"utf-8"));
|
||||
bulider.append("\n");
|
||||
}
|
||||
} catch (IOException e) {
|
||||
|
||||
Reference in New Issue
Block a user