Commit 4c7f74c6 by 宋珺琪

koTime相关配置、websocket问题处理(湖南)

parent 491522ec
......@@ -16,6 +16,16 @@
<module>service_base</module>
</modules>
<dependencies>
<!--KoTime-->
<dependency>
<groupId>cn.langpy</groupId>
<artifactId>ko-time</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
......
......@@ -26,7 +26,7 @@ public class TokenConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
String[] excludePatterns = new String[]{"/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**",
"/api", "/api-docs", "/api-docs/**", "/doc.html/**"};
"/api", "/api-docs", "/api-docs/**", "/doc.html/**", "/koTime/**"};
registry.addInterceptor(tokenInterceptor)
.addPathPatterns("/**")//指定该类拦截的url
.excludePathPatterns(skInterceptorController.findAllUrl())
......
package com.founder.servicebase.exceptionhandler;
import cn.langpy.kotime.util.KoUtil;
import com.founder.commonutils.model.newPublicEntity.MapRestResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
......@@ -15,6 +16,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseBody //为了返回数据
public MapRestResult error(Exception e) {
KoUtil.recordException(e);
e.printStackTrace();
return MapRestResult.error("执行了全局异常处理.."+e);
}
......@@ -23,6 +25,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(ArithmeticException.class)
@ResponseBody //为了返回数据
public MapRestResult error(ArithmeticException e) {
KoUtil.recordException(e);
e.printStackTrace();
return MapRestResult.error("执行了ArithmeticException异常处理.."+e);
}
......@@ -31,6 +34,8 @@ public class GlobalExceptionHandler {
@ExceptionHandler(GuliException.class)
@ResponseBody //为了返回数据
public MapRestResult error(GuliException e) {
KoUtil.recordException(e);
log.error(e.getMessage());
e.printStackTrace();
......
......@@ -2,6 +2,7 @@ package com.founder.servicebase.logs;
import cn.hutool.json.JSONObject;
import cn.langpy.kotime.util.KoUtil;
import com.founder.commonutils.Exception.TokenException;
import com.founder.commonutils.model.newPublicEntity.SysUser;
import com.founder.commonutils.model.newPublicEntity.ThirdToken;
......@@ -162,7 +163,16 @@ public class SysLogAspect {
if (!StringUtils.isEmpty(result)) {
sysLog.setContent(result.toString());
}
} catch (
}catch (Exception e){
// KoTime工具在Throwable中不生效,以后如果要自定义异常的话 需要继承Exception
String erro = "";
e.printStackTrace();
erro = log(e);
sysLog.setContent(erro);
e.printStackTrace();
KoUtil.recordException(e);
}
catch (
Throwable throwable) {
String erro = "";
throwable.printStackTrace();
......
package com.founder.servicebase.meassage;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.stereotype.Component;
import javax.websocket.server.ServerEndpoint;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Modifier;
import java.lang.reflect.Proxy;
import java.util.Objects;
/**
* @author sjq
* @vesion 1.0
* @date 2022/11/23 11:42
* @since jdk1.8
*/
@Component
public class CustomBeanPostProcessor implements BeanPostProcessor {
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
handleServerEndPoint(bean);
return bean;
}
private void handleServerEndPoint(Object bean) {
//获取serverEndpoint
ServerEndpoint serverEndpoint = AnnotationUtils.findAnnotation(bean.getClass(), ServerEndpoint.class);
if (!Objects.isNull(serverEndpoint)) {
//设置@ServerEndpoint注解支持继承,相当于注解@Inherited,应对动态代理导致类上的@ServerEndpoint注解丢失
InvocationHandler h = Proxy.getInvocationHandler(serverEndpoint);
try {
Field typeField = h.getClass().getDeclaredField("type");
typeField.setAccessible(true);
Field annotationTypeField = Class.class.getDeclaredField("annotationType");
annotationTypeField.setAccessible(true);
Object o = annotationTypeField.get(typeField.get(h));
Field inheritedField = o.getClass().getDeclaredField("inherited");
this.updateFinalModifiers(inheritedField);
inheritedField.set(o, true);
} catch (NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("修改@ServerEndPoint注解失败");
}
}
}
private void updateFinalModifiers(Field field) throws NoSuchFieldException, IllegalAccessException {
field.setAccessible(true);
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
}
}
\ No newline at end of file
#服务端口
#\uFFFD\uFFFD\uFFFD\uFFFD\u02FF\uFFFD
#server.port=1003
#返回json的全局时间格式
#\uFFFD\uFFFD\uFFFD\uFFFDjson\uFFFD\uFFFD\u022B\uFFFD\uFFFD\u02B1\uFFFD\uFFFD\uFFFD\u02BD
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
#设置日志级别
#\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05BE\uFFFD\uFFFD\uFFFD\uFFFD
logging.level.root=INFO
#mybatis日志
#mybatis\uFFFD\uFFFD\u05BE
#mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#mysql数据库连接
#mysql\uFFFD\uFFFD\uFFFD\u077F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://47.92.48.137:3900/skyp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=gkptCcYy123
#oracle数据库连接
#oracle\uFFFD\uFFFD\uFFFD\u077F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
#spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
#spring.datasource.url=jdbc:oracle:thin:@47.92.129.99:1560:orcl
#spring.datasource.username=XZXT
#spring.datasource.password=XzPwd#11022
#xml扫包
#xml\u0268\uFFFD\uFFFD
mybatis-plus.mapper-locations=classpath*:com/founder/servicebase/mapper/xml/*.xml
#es健康检查关闭
#es\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0631\uFFFD
management.health.elasticsearch.enabled=false
#server.tomcat.basedir: /tmp/tomcat
\ No newline at end of file
......@@ -81,11 +81,11 @@
<scope>system</scope>
<systemPath>${project.basedir}/../lib/ojdbc6-10.jar</systemPath>
</dependency>-->
<dependency>
<!-- <dependency>
<groupId>org.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>10</version>
</dependency>
</dependency>-->
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
<dependency>
<groupId>org.apache.velocity</groupId>
......
......@@ -7,3 +7,11 @@ spring.jackson.time-zone=GMT+8
logging.level.root=INFO
#\u05B8\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u3DE8(\u012C\uFFFD\uFFFD)
jasypt.encryptor.algorithm=PBEWithMD5AndDES
# \uFFFD\uFFFD\u04AA\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u6DF6\u03A7\uFFFD\uFFFD\uFFFD\u03BF\uFFFDaop\uFFFD\uFFFD@pointcut \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0CE3\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
ko-time.pointcut=execution(public * com.founder..*.*(..))
# \u662F\u5426\u5F00\u542F\u5F02\u5E38\u68C0\u6D4B\uFF0C\u9ED8\u8BA4\u4E3Afalse,\u5F00\u542F\u540E\u4F1A\u5BF9\u65B9\u6CD5\u5185\u90E8\u629B\u51FA\u7684\u5F02\u5E38\u8FDB\u884C\u7EDF\u8BA1 v2.0.0\u5F00\u59CB\u652F\u6301
ko-time.exception-enable=true
#\u5F00\u542F\u63A7\u5236\u53F0\u65E5\u5FD7
ko-time.log-enable=true
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment