JobServiceApplication.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package com.java110.job;
  2. import com.java110.core.annotation.Java110CmdDiscovery;
  3. import com.java110.core.annotation.Java110ListenerDiscovery;
  4. import com.java110.core.client.OutRestTemplate;
  5. import com.java110.core.client.RestTemplate;
  6. import com.java110.core.event.cmd.ServiceCmdEventPublishing;
  7. import com.java110.core.event.service.BusinessServiceDataFlowEventPublishing;
  8. import com.java110.core.log.LoggerFactory;
  9. import com.java110.core.trace.Java110RestTemplateInterceptor;
  10. import com.java110.service.init.ServiceStartInit;
  11. import org.slf4j.Logger;
  12. import org.springframework.boot.SpringApplication;
  13. import org.springframework.boot.autoconfigure.SpringBootApplication;
  14. import org.springframework.boot.web.client.RestTemplateBuilder;
  15. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  16. import org.springframework.cloud.client.loadbalancer.LoadBalanced;
  17. import org.springframework.cloud.openfeign.EnableFeignClients;
  18. import org.springframework.context.ApplicationContext;
  19. import org.springframework.context.annotation.Bean;
  20. import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
  21. import org.springframework.http.converter.StringHttpMessageConverter;
  22. import org.springframework.scheduling.annotation.EnableAsync;
  23. import org.springframework.scheduling.annotation.EnableScheduling;
  24. import javax.annotation.Resource;
  25. import java.nio.charset.Charset;
  26. @SpringBootApplication(
  27. scanBasePackages = {"com.java110.service",
  28. "com.java110.job",
  29. "com.java110.core",
  30. "com.java110.config.properties.code",
  31. "com.java110.db",
  32. "com.java110.doc"},
  33. excludeName = {"com.java110.intf.jobservice"}
  34. )
  35. @EnableDiscoveryClient
  36. @Java110ListenerDiscovery(listenerPublishClass = BusinessServiceDataFlowEventPublishing.class,
  37. basePackages = {"com.java110.job.listener"})
  38. @Java110CmdDiscovery(cmdPublishClass = ServiceCmdEventPublishing.class,
  39. basePackages = {"com.java110.job.cmd"})
  40. @EnableFeignClients(basePackages = {
  41. "com.java110.intf.community",
  42. "com.java110.intf.common",
  43. "com.java110.intf.fee",
  44. "com.java110.intf.user",
  45. "com.java110.intf.order",
  46. "com.java110.intf.store",
  47. "com.java110.intf.report",
  48. "com.java110.intf.acct",
  49. "com.java110.intf.oa",
  50. "com.java110.intf.dev",
  51. "com.java110.intf.goods"
  52. })
  53. @EnableScheduling
  54. @EnableAsync
  55. public class JobServiceApplication {
  56. private static Logger logger = LoggerFactory.getLogger(JobServiceApplication.class);
  57. private static final String LISTENER_PATH = "java110.job.listeners";
  58. @Resource
  59. private Java110RestTemplateInterceptor java110RestTemplateInterceptor;
  60. @Bean
  61. public OutRestTemplate outRestTemplate() {
  62. StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  63. OutRestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(OutRestTemplate.class);
  64. restTemplate.getInterceptors().add(java110RestTemplateInterceptor);
  65. //设置超时时间
  66. HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
  67. httpRequestFactory.setConnectionRequestTimeout(5000);
  68. httpRequestFactory.setConnectTimeout(5000);
  69. httpRequestFactory.setReadTimeout(5000);
  70. restTemplate.setRequestFactory(httpRequestFactory);
  71. return restTemplate;
  72. }
  73. @Bean
  74. //@LoadBalanced
  75. public RestTemplate formRestTemplate() {
  76. RestTemplate restTemplate = new RestTemplate();
  77. restTemplate.getMessageConverters().add(new StringHttpMessageConverter(Charset.forName("UTF-8")));
  78. return restTemplate;
  79. }
  80. /**
  81. * 实例化RestTemplate,通过@LoadBalanced注解开启均衡负载能力.
  82. *
  83. * @return restTemplate
  84. */
  85. @Bean
  86. @LoadBalanced
  87. public RestTemplate restTemplate() {
  88. StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  89. RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
  90. return restTemplate;
  91. }
  92. public static void main(String[] args) throws Exception {
  93. ServiceStartInit.preInitSystemConfig();
  94. ApplicationContext context = SpringApplication.run(JobServiceApplication.class, args);
  95. ServiceStartInit.initSystemConfig(context);
  96. //加载业务侦听
  97. // SystemStartLoadBusinessConfigure.initSystemConfig(LISTENER_PATH);
  98. //服务启动完成
  99. ServiceStartInit.printStartSuccessInfo();
  100. }
  101. }