WANG пре 6 година
родитељ
комит
41617ee80f

+ 106 - 107
examcloud-task-starter/src/main/java/cn/com/qmth/examcloud/task/starter/TaskApp.java

@@ -1,107 +1,106 @@
-package cn.com.qmth.examcloud.task.starter;
-
-import org.slf4j.MDC;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.boot.autoconfigure.web.MultipartAutoConfiguration;
-import org.springframework.cloud.client.loadbalancer.LoadBalanced;
-import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
-import org.springframework.context.annotation.Bean;
-import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-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.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.quartz.SchedulerFactoryBean;
-import org.springframework.web.client.RestTemplate;
-import org.springframework.web.multipart.MultipartResolver;
-import org.springframework.web.multipart.commons.CommonsMultipartResolver;
-
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLog;
-import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLogFactory;
-import cn.com.qmth.examcloud.commons.base.logging.SLF4JImpl;
-import cn.com.qmth.examcloud.commons.web.redis.RedisClient;
-import cn.com.qmth.examcloud.commons.web.redis.RedisClientImpl;
-import cn.com.qmth.examcloud.commons.web.support.CustomResponseErrorHandler;
-import cn.com.qmth.examcloud.commons.web.support.SpringContextHolder;
-import cn.com.qmth.examcloud.task.starter.config.JobsStartup;
-
-@SpringBootApplication(scanBasePackages = {"cn.com.qmth"})
-@EnableJpaRepositories(basePackages = {"cn.com.qmth"})
-@EntityScan(basePackages = {"cn.com.qmth"})
-@EnableJpaAuditing
-@EnableEurekaClient
-@EnableScheduling
-@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
-public class TaskApp {
-
-	private static final ExamCloudLog LOG = ExamCloudLogFactory.getLog(TaskApp.class);
-
-	public static void main(String[] args) throws Exception {
-		if (LOG instanceof SLF4JImpl) {
-			MDC.put("TRACE_ID", Thread.currentThread().getName());
-		}
-
-		SpringApplication application = new SpringApplication(TaskApp.class);
-		application.run(args);
-
-		JobsStartup jobsStartup = SpringContextHolder.getBean(JobsStartup.class);
-		jobsStartup.start();
-	}
-
-	@Bean
-	@LoadBalanced
-	public RestTemplate restTemplate() {
-		RestTemplate restTemplate = new RestTemplate();
-		restTemplate.setErrorHandler(new CustomResponseErrorHandler());
-		return restTemplate;
-	}
-
-	@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;
-	}
-
-	@Bean
-	@Autowired
-	public RedisClient redisClient(RedisTemplate<String, Object> redisTemplate) {
-		return new RedisClientImpl(redisTemplate);
-	}
-
-	@Bean(name = "schedulerFactoryBean")
-	public SchedulerFactoryBean schedulerFactory() {
-		return new SchedulerFactoryBean();
-	}
-
-	@Bean(name = "multipartResolver")
-	public MultipartResolver multipartResolver() {
-		CommonsMultipartResolver resolver = new CommonsMultipartResolver();
-		resolver.setDefaultEncoding("UTF-8");
-		resolver.setResolveLazily(true);
-		resolver.setMaxInMemorySize(2);
-		resolver.setMaxUploadSize(200 * 1024 * 1024);
-		return resolver;
-	}
-
-}
+package cn.com.qmth.examcloud.task.starter;
+
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.autoconfigure.web.MultipartAutoConfiguration;
+import org.springframework.cloud.client.loadbalancer.LoadBalanced;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+import org.springframework.context.annotation.Bean;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+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.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.quartz.SchedulerFactoryBean;
+import org.springframework.web.client.RestTemplate;
+import org.springframework.web.multipart.MultipartResolver;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLog;
+import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLogFactory;
+import cn.com.qmth.examcloud.commons.base.logging.SLF4JImpl;
+import cn.com.qmth.examcloud.commons.web.boot.ExamCloudApp;
+import cn.com.qmth.examcloud.commons.web.redis.RedisClient;
+import cn.com.qmth.examcloud.commons.web.redis.RedisClientImpl;
+import cn.com.qmth.examcloud.commons.web.support.CustomResponseErrorHandler;
+import cn.com.qmth.examcloud.commons.web.support.SpringContextHolder;
+import cn.com.qmth.examcloud.task.starter.config.JobsStartup;
+
+@SpringBootApplication(scanBasePackages = {"cn.com.qmth"})
+@EnableJpaRepositories(basePackages = {"cn.com.qmth"})
+@EntityScan(basePackages = {"cn.com.qmth"})
+@EnableJpaAuditing
+@EnableEurekaClient
+@EnableScheduling
+@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
+public class TaskApp {
+
+	private static final ExamCloudLog LOG = ExamCloudLogFactory.getLog(TaskApp.class);
+
+	public static void main(String[] args) throws Exception {
+		if (LOG instanceof SLF4JImpl) {
+			MDC.put("TRACE_ID", Thread.currentThread().getName());
+		}
+
+		ExamCloudApp.run(TaskApp.class, "task", args);
+
+		JobsStartup jobsStartup = SpringContextHolder.getBean(JobsStartup.class);
+		jobsStartup.start();
+	}
+
+	@Bean
+	@LoadBalanced
+	public RestTemplate restTemplate() {
+		RestTemplate restTemplate = new RestTemplate();
+		restTemplate.setErrorHandler(new CustomResponseErrorHandler());
+		return restTemplate;
+	}
+
+	@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;
+	}
+
+	@Bean
+	@Autowired
+	public RedisClient redisClient(RedisTemplate<String, Object> redisTemplate) {
+		return new RedisClientImpl(redisTemplate);
+	}
+
+	@Bean(name = "schedulerFactoryBean")
+	public SchedulerFactoryBean schedulerFactory() {
+		return new SchedulerFactoryBean();
+	}
+
+	@Bean(name = "multipartResolver")
+	public MultipartResolver multipartResolver() {
+		CommonsMultipartResolver resolver = new CommonsMultipartResolver();
+		resolver.setDefaultEncoding("UTF-8");
+		resolver.setResolveLazily(true);
+		resolver.setMaxInMemorySize(2);
+		resolver.setMaxUploadSize(200 * 1024 * 1024);
+		return resolver;
+	}
+
+}

+ 0 - 39
examcloud-task-starter/src/main/resources/application-dev.properties

@@ -1,39 +0,0 @@
-spring.datasource.url=jdbc:mysql://db-host:3306/exam_cloud_kf?useUnicode=true&characterEncoding=UTF-8&useSSL=false
-spring.datasource.username=root
-spring.datasource.password=root
-
-spring.redis.host=redis-host
-spring.redis.port=6379
-
-eureka.client.serviceUrl.defaultZone=http://eureka-host:1111/eureka/
-
-$tempDir=D:/Temp/tempDir
-$dir=D:/Temp/dir
-
-$log.level.default=debug
-
-$sync.async=false
-
-$sync.syncStudent.group=EXAMWORK,MARKING,OE
-$sync.syncStudent.component.EXAMWORK=http://EC-CORE-EXAMWORK/api/core/examwork/dataSync/syncStudent
-$sync.syncStudent.component.MARKING=http://EC-CORE-MARKING/api/core/marking/dataSync/syncStudent
-$sync.syncStudent.component.OE=http://EC-CORE-OE-ADMIN/api/core/oe/admin/exam/dataSync/syncStudent
-
-$sync.syncExamStudent.group=OE,MARKING
-$sync.syncExamStudent.component.OE=http://EC-CORE-OE-ADMIN/api/core/oe/admin/exam/dataSync/syncExamStudent
-$sync.syncExamStudent.component.MARKING=http://EC-CORE-MARKING/api/core/marking/dataSync/syncExamStudent
-
-$sync.syncCourse.group=EXAMWORK,QUESTION,MARKING,OE,PRINT
-$sync.syncCourse.component.PRINT=http://EC-CORE-PRINT/api/core/prt/data/syncCourse
-$sync.syncCourse.component.EXAMWORK=http://EC-CORE-EXAMWORK/api/core/examwork/dataSync/syncCourse
-$sync.syncCourse.component.MARKING=http://EC-CORE-MARKING/api/core/marking/dataSync/syncCourse
-$sync.syncCourse.component.QUESTION=http://EC-CORE-QUESTION/api/core/questions/dataSync/syncCourse
-$sync.syncCourse.component.OE=http://EC-CORE-OE-ADMIN/api/core/oe/admin/exam/dataSync/syncCourse
-
-$sync.syncOrg.group=PRINT
-$sync.syncOrg.component.PRINT=http://EC-CORE-PRINT/api/core/prt/data/syncOrg
-
-$sync.syncExam.group=PRINT
-$sync.syncExam.component.PRINT=http://EC-CORE-PRINT/api/core/prt/data/syncExam
-
-$sync.syncUser.group=,

+ 0 - 43
examcloud-task-starter/src/main/resources/application-prod.properties

@@ -1,43 +0,0 @@
-spring.datasource.url=jdbc:mysql://rds7b2sll8un5kz99s0i122.mysql.rds.aliyuncs.com:3306/exam_cloud?useUnicode=true&characterEncoding=UTF-8
-spring.datasource.username=exam_cloud
-spring.datasource.password=examcloud123!@#
-spring.datasource.tomcat.max-active=600
-spring.jpa.show-sql=false
-
-eureka.client.serviceUrl.defaultZone=http://192.168.1.70:1111/eureka/
-
-spring.redis.host=r-wz97e520d2701e54555.redis.rds.aliyuncs.com
-spring.redis.port=6379
-spring.redis.password=Qmth87863577
-spring.redis.pool.max-active=2000
-
-$tempDir=/root/project/examcloud/examcloud-task/tempDir
-$dir=/root/project/examcloud/examcloud-task/dir
-
-$log.level.default=error
-
-$sync.async=true
-
-$sync.syncStudent.group=EXAMWORK,MARKING,OE
-$sync.syncStudent.component.EXAMWORK=http://EC-CORE-EXAMWORK/api/core/examwork/dataSync/syncStudent
-$sync.syncStudent.component.MARKING=http://EC-CORE-MARKING/api/core/marking/dataSync/syncStudent
-$sync.syncStudent.component.OE=http://EC-CORE-OE-ADMIN/api/core/oe/admin/exam/dataSync/syncStudent
-
-$sync.syncExamStudent.group=OE,MARKING
-$sync.syncExamStudent.component.OE=http://EC-CORE-OE-ADMIN/api/core/oe/admin/exam/dataSync/syncExamStudent
-$sync.syncExamStudent.component.MARKING=http://EC-CORE-MARKING/api/core/marking/dataSync/syncExamStudent
-
-$sync.syncCourse.group=EXAMWORK,QUESTION,MARKING,OE
-$sync.syncCourse.component.PRINT=http://EC-CORE-PRINT/api/core/prt/data/syncCourse
-$sync.syncCourse.component.EXAMWORK=http://EC-CORE-EXAMWORK/api/core/examwork/dataSync/syncCourse
-$sync.syncCourse.component.MARKING=http://EC-CORE-MARKING/api/core/marking/dataSync/syncCourse
-$sync.syncCourse.component.QUESTION=http://EC-CORE-QUESTION/api/core/questions/dataSync/syncCourse
-$sync.syncCourse.component.OE=http://EC-CORE-OE-ADMIN/api/core/oe/admin/exam/dataSync/syncCourse
-
-$sync.syncOrg.group=,
-$sync.syncOrg.component.PRINT=http://EC-CORE-PRINT/api/core/prt/data/syncOrg
-
-$sync.syncExam.group=,
-$sync.syncExam.component.PRINT=http://EC-CORE-PRINT/api/core/prt/data/syncExam
-
-$sync.syncUser.group=,

+ 0 - 41
examcloud-task-starter/src/main/resources/application-test.properties

@@ -1,41 +0,0 @@
-spring.datasource.url=jdbc:mysql://db-host:3306/exam_cloud_kf?useUnicode=true&characterEncoding=UTF-8
-spring.datasource.username=root
-spring.datasource.password=root
-spring.datasource.validation-query=SELECT 1 FROM DUAL
-spring.datasource.test-on-borrow=true
-
-spring.redis.host=redis-host
-spring.redis.port=6379
-
-eureka.client.serviceUrl.defaultZone=http://eureka-host:1111/eureka/
-
-$tempDir=/home/qmth/project/examcloud/examcloud-task/tempDir
-$dir=/home/qmth/project/examcloud/examcloud-task/dir
-
-$log.level.default=debug
-
-$sync.async=false
-
-$sync.syncStudent.group=EXAMWORK,MARKING,OE
-$sync.syncStudent.component.EXAMWORK=http://EC-CORE-EXAMWORK/api/core/examwork/dataSync/syncStudent
-$sync.syncStudent.component.MARKING=http://EC-CORE-MARKING/api/core/marking/dataSync/syncStudent
-$sync.syncStudent.component.OE=http://EC-CORE-OE-ADMIN/api/core/oe/admin/exam/dataSync/syncStudent
-
-$sync.syncExamStudent.group=OE,MARKING
-$sync.syncExamStudent.component.OE=http://EC-CORE-OE-ADMIN/api/core/oe/admin/exam/dataSync/syncExamStudent
-$sync.syncExamStudent.component.MARKING=http://EC-CORE-MARKING/api/core/marking/dataSync/syncExamStudent
-
-$sync.syncCourse.group=EXAMWORK,QUESTION,MARKING,OE,PRINT
-$sync.syncCourse.component.PRINT=http://EC-CORE-PRINT/api/core/prt/data/syncCourse
-$sync.syncCourse.component.EXAMWORK=http://EC-CORE-EXAMWORK/api/core/examwork/dataSync/syncCourse
-$sync.syncCourse.component.MARKING=http://EC-CORE-MARKING/api/core/marking/dataSync/syncCourse
-$sync.syncCourse.component.QUESTION=http://EC-CORE-QUESTION/api/core/questions/dataSync/syncCourse
-$sync.syncCourse.component.OE=http://EC-CORE-OE-ADMIN/api/core/oe/admin/exam/dataSync/syncCourse
-
-$sync.syncOrg.group=PRINT
-$sync.syncOrg.component.PRINT=http://EC-CORE-PRINT/api/core/prt/data/syncOrg
-
-$sync.syncExam.group=PRINT
-$sync.syncExam.component.PRINT=http://EC-CORE-PRINT/api/core/prt/data/syncExam
-
-$sync.syncUser.group=,

+ 2 - 29
examcloud-task-starter/src/main/resources/application.properties

@@ -1,29 +1,2 @@
-spring.profiles.active=dev
-spring.application.name=EC-TASK
-server.port=8011
-
-$rmp.ctr.task=/api/ctr/task/
-$rmp.cloud.task=/api/cloud/task/
-
-spring.datasource.validation-query=SELECT 1 FROM DUAL
-spring.datasource.test-on-borrow=true
-
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.time-zone=GMT+8
-
-spring.jpa.show-sql=false
-spring.jpa.hibernate.ddl-auto=update
-app.oe.examcontrol.session.expire=30
-app.oe.examcontrol.session.captureCycle=300
-
-hystrix.command.default.execution.timeout.enabled=false
-hystrix.threadpool.default.coreSize = 500
-
-eureka.instance.lease-renewal-interval-in-seconds=1
-eureka.instance.lease-expiration-duration-in-seconds=2
-eureka.instance.prefer-ip-address=true
-eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}
-eureka.client.healthcheck.enabled=true
-
-info.app=${spring.application.name}
-
+spring.profiles.active=dev
+$config.server.host=config-host