|
@@ -1,85 +1,51 @@
|
|
package cn.com.qmth.examcloud.core.questions.starter;
|
|
package cn.com.qmth.examcloud.core.questions.starter;
|
|
|
|
|
|
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLog;
|
|
|
|
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLogFactory;
|
|
|
|
-import cn.com.qmth.examcloud.commons.logging.SLF4JImpl;
|
|
|
|
import cn.com.qmth.examcloud.web.bootstrap.AppBootstrap;
|
|
import cn.com.qmth.examcloud.web.bootstrap.AppBootstrap;
|
|
-import cn.com.qmth.examcloud.web.support.CustomResponseErrorHandler;
|
|
|
|
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
|
|
|
-import com.fasterxml.jackson.annotation.PropertyAccessor;
|
|
|
|
-import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
-import org.slf4j.MDC;
|
|
|
|
|
|
+import org.springframework.boot.SpringApplication;
|
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
import org.springframework.boot.autoconfigure.domain.EntityScan;
|
|
import org.springframework.boot.autoconfigure.domain.EntityScan;
|
|
import org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration;
|
|
import org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration;
|
|
|
|
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
|
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
|
|
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
|
|
import org.springframework.cloud.openfeign.EnableFeignClients;
|
|
import org.springframework.cloud.openfeign.EnableFeignClients;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.ComponentScan;
|
|
import org.springframework.context.annotation.ComponentScan;
|
|
|
|
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
|
|
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
|
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
|
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
|
|
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
|
|
-import org.springframework.data.redis.connection.RedisConnectionFactory;
|
|
|
|
-import org.springframework.data.redis.core.RedisTemplate;
|
|
|
|
-import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
|
|
|
|
-import org.springframework.data.redis.serializer.StringRedisSerializer;
|
|
|
|
-import org.springframework.web.client.RestTemplate;
|
|
|
|
import org.springframework.web.multipart.MultipartResolver;
|
|
import org.springframework.web.multipart.MultipartResolver;
|
|
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
|
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 项目入口主程序
|
|
* 项目入口主程序
|
|
*/
|
|
*/
|
|
|
|
+@EnableJpaAuditing
|
|
|
|
+@EnableEurekaClient
|
|
|
|
+@EnableDiscoveryClient
|
|
|
|
+@SpringBootApplication
|
|
@ComponentScan(basePackages = {"cn.com.qmth"})
|
|
@ComponentScan(basePackages = {"cn.com.qmth"})
|
|
@EntityScan(basePackages = {"com.qmth.commons", "cn.com.qmth"})
|
|
@EntityScan(basePackages = {"com.qmth.commons", "cn.com.qmth"})
|
|
//@EnableJpaRepositories(basePackages = {"cn.com.qmth"}, repositoryBaseClass = BaseQueryDaoImpl.class)
|
|
//@EnableJpaRepositories(basePackages = {"cn.com.qmth"}, repositoryBaseClass = BaseQueryDaoImpl.class)
|
|
@EnableJpaRepositories(basePackages = {"cn.com.qmth"})
|
|
@EnableJpaRepositories(basePackages = {"cn.com.qmth"})
|
|
@EnableMongoRepositories("cn.com.qmth.examcloud.core.questions.dao")
|
|
@EnableMongoRepositories("cn.com.qmth.examcloud.core.questions.dao")
|
|
-@SpringBootApplication
|
|
|
|
-@EnableEurekaClient
|
|
|
|
@EnableFeignClients(basePackages = {"cn.com.qmth.examcloud.core.questions.service.rpc"})
|
|
@EnableFeignClients(basePackages = {"cn.com.qmth.examcloud.core.questions.service.rpc"})
|
|
@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
|
|
@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
|
|
public class QuestionPoolApplication {
|
|
public class QuestionPoolApplication {
|
|
- private static final ExamCloudLog LOG = ExamCloudLogFactory.getLog(QuestionPoolApplication.class);
|
|
|
|
|
|
|
|
- public static void main(String[] args) {
|
|
|
|
- if (LOG instanceof SLF4JImpl) {
|
|
|
|
- MDC.put("TRACE_ID", Thread.currentThread().getName());
|
|
|
|
|
|
+ static {
|
|
|
|
+ String runtimeLevel = System.getProperty("log.commonLevel");
|
|
|
|
+ if (null == runtimeLevel) {
|
|
|
|
+ System.setProperty("log.commonLevel", "DEBUG");
|
|
}
|
|
}
|
|
-
|
|
|
|
- //SpringApplication.run(Application.class, args);
|
|
|
|
- AppBootstrap.run(QuestionPoolApplication.class, args);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //@Bean
|
|
|
|
- //@LoadBalanced
|
|
|
|
- public RestTemplate restTemplate() {
|
|
|
|
- RestTemplate restTemplate = new RestTemplate();
|
|
|
|
- restTemplate.setErrorHandler(new CustomResponseErrorHandler());
|
|
|
|
- return restTemplate;
|
|
|
|
|
|
+ System.setProperty("hibernate.dialect.storage_engine", "innodb");
|
|
}
|
|
}
|
|
|
|
|
|
- //@Bean
|
|
|
|
- public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
|
|
|
|
- RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
|
|
|
|
- redisTemplate.setConnectionFactory(redisConnectionFactory);
|
|
|
|
- Jackson2JsonRedisSerializer<?> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
|
|
|
|
- ObjectMapper objectMapper = new ObjectMapper();
|
|
|
|
- objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
|
|
|
|
- objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
|
|
|
|
- jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
|
|
|
|
- redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
|
|
|
|
- redisTemplate.setKeySerializer(new StringRedisSerializer());
|
|
|
|
- redisTemplate.afterPropertiesSet();
|
|
|
|
- return redisTemplate;
|
|
|
|
|
|
+ public static void main(String[] args) {
|
|
|
|
+ //SpringApplication.run(QuestionPoolApplication.class, args);
|
|
|
|
+ AppBootstrap.run(QuestionPoolApplication.class, args);
|
|
}
|
|
}
|
|
|
|
|
|
- /*@Bean
|
|
|
|
- @Autowired
|
|
|
|
- public RedisClient redisClient(RedisTemplate<String, Object> redisTemplate) {
|
|
|
|
- return new RedisClientImpl(redisTemplate);
|
|
|
|
- }*/
|
|
|
|
-
|
|
|
|
@Bean(name = "multipartResolver")
|
|
@Bean(name = "multipartResolver")
|
|
public MultipartResolver multipartResolver() {
|
|
public MultipartResolver multipartResolver() {
|
|
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
|
|
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
|