package com.ks.app;
|
|
import org.mybatis.spring.annotation.MapperScan;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.web.servlet.MultipartConfigFactory;
|
import org.springframework.context.ApplicationListener;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.event.ContextRefreshedEvent;
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
import org.yeshi.utils.mq.JobThreadExecutorServiceImpl;
|
import org.yeshi.utils.tencentcloud.COSManager;
|
import org.yeshi.utils.tencentcloud.entity.COSInitParams;
|
|
import javax.servlet.MultipartConfigElement;
|
import java.io.File;
|
import java.util.Properties;
|
|
//不引入数据库
|
//@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class,DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class
|
// , DruidDataSourceAutoConfigure.class, HibernateJpaAutoConfiguration.class})
|
@MapperScan(basePackages = "com.ks.app.dao")
|
@SpringBootApplication
|
@EnableTransactionManagement
|
//@EnableDubbo(scanBasePackages = "com.ks.push.service.remote")
|
public class Application implements ApplicationListener<ContextRefreshedEvent> {
|
private final static Logger logger = LoggerFactory.getLogger(Application.class);
|
|
public static void main(String[] args) {
|
SpringApplication.run(Application.class, args);
|
logger.info("应用启动成功");
|
}
|
|
|
@Override
|
public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
|
logger.info("容器加载完毕");
|
initMQMsgConsumer();
|
initCOS();
|
}
|
|
private void initMQMsgConsumer() {
|
final int THREAD_NUM = 3;
|
|
//创建三条队列处理
|
for (int i = 0; i < THREAD_NUM; i++) {
|
new JobThreadExecutorServiceImpl().run(new Runnable() {
|
@Override
|
public void run() {
|
|
}
|
});
|
}
|
}
|
|
|
/**
|
* 对象存储初始化
|
*/
|
public static void initCOS() {
|
// 载入cos参数
|
Properties ps = org.yeshi.utils.PropertiesUtil
|
.getProperties(Application.class.getClassLoader().getResourceAsStream("cos.properties"));
|
COSInitParams params = new COSInitParams();
|
params.setAppId(Long.parseLong(ps.getProperty("appId")));
|
params.setBucketName(ps.getProperty("bucketName"));
|
params.setRegion(ps.getProperty("region"));
|
params.setSecretId(ps.getProperty("secretId"));
|
params.setSecretKey(ps.getProperty("secretKey"));
|
// 初始化
|
COSManager.getInstance().init(params);
|
}
|
|
/**
|
* 设置文件上传临时保存目录
|
*/
|
@Bean
|
MultipartConfigElement multipartConfigElement() {
|
MultipartConfigFactory factory = new MultipartConfigFactory();
|
String location = System.getProperty("user.dir") + "/data/tmp";
|
File tmpFile = new File(location);
|
if (!tmpFile.exists()) {
|
tmpFile.mkdirs();
|
}
|
factory.setLocation(location);
|
return factory.createMultipartConfig();
|
}
|
|
}
|