提交 2e9d9a0d 编写于 作者: zhouweidong's avatar zhouweidong

审计补充线程池

上级 d6f6fde0
......@@ -13,6 +13,9 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.Executor;
import java.util.concurrent.ThreadPoolExecutor;
@Configuration
@ConditionalOnClass(${item.codeName}RestConfiguration.class)
......@@ -27,6 +30,18 @@ public class ${item.codeName}AutoConfiguration implements ApplicationContextAwar
this.applicationContext = applicationContext;
}
@Bean("asyncExecutor")
public Executor asyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(10);
executor.setMaxPoolSize(20);
executor.setQueueCapacity(2000);
executor.setKeepAliveSeconds(600);
executor.setThreadNamePrefix("asyncExecutor-");
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
return executor;
}
// @Bean
// public ServletRegistrationBean ${item.codeName?lower_case}Servlet() {
// AnnotationConfigWebApplicationContext dispatcherServletConfiguration = new AnnotationConfigWebApplicationContext();
......
......@@ -13,10 +13,10 @@ import java.util.Map;
* 实体[DataAudit] 服务对象接口
*/
public interface IBZDataAuditService {
@Async
@Async("asyncExecutor")
void createAudit(HttpServletRequest request,EntityBase entity,Object idValue,Map<String, Audit> auditFields);
@Async
@Async("asyncExecutor")
void updateAudit(HttpServletRequest request, EntityBase beforeEntity, Object serviceObj, Object idValue, Map<String, Audit> auditFields);
@Async
@Async("asyncExecutor")
void removeAudit(HttpServletRequest request,EntityBase entity,Object idValue,Map<String, Audit> auditFields);
}
\ No newline at end of file
......@@ -156,7 +156,7 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
auditFieldObj.put("field",fieldLogicName);
auditFieldObj.put("value",value);
if(!StringUtils.isEmpty(auditAnnotation.dictName())){
auditFieldObj.put("dictName",auditAnnotation.dictName());
auditFieldObj.put("dict",auditAnnotation.dictName());
}
auditFieldArray.add(auditFieldObj);
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册