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 { 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(); } }