CenterServiceApplicationStart.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package com.java110.center;
  2. import com.java110.center.smo.ICenterServiceCacheSMO;
  3. import com.java110.common.factory.ApplicationContextFactory;
  4. import com.java110.core.annotation.Java110ListenerDiscovery;
  5. import com.java110.event.center.DataFlowEventPublishing;
  6. import com.java110.event.center.init.EventConfigInit;
  7. import com.java110.service.init.ServiceStartInit;
  8. import org.springframework.boot.SpringApplication;
  9. import org.springframework.boot.autoconfigure.SpringBootApplication;
  10. import org.springframework.boot.web.client.RestTemplateBuilder;
  11. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  12. import org.springframework.cloud.client.loadbalancer.LoadBalanced;
  13. import org.springframework.context.ApplicationContext;
  14. import org.springframework.context.annotation.Bean;
  15. import org.springframework.http.converter.StringHttpMessageConverter;
  16. import org.springframework.web.client.RestTemplate;
  17. import java.nio.charset.Charset;
  18. /**
  19. * spring boot 初始化启动类
  20. *
  21. * @version v0.1
  22. * @auther com.java110.wuxw
  23. * @mail 928255095@qq.com
  24. * @date 2016年8月6日
  25. * @tag
  26. */
  27. @SpringBootApplication(scanBasePackages={"com.java110.service","com.java110.center","com.java110.core","com.java110.event.center","com.java110.cache"})
  28. @EnableDiscoveryClient
  29. //@EnableConfigurationProperties(EventProperties.class)
  30. @Java110ListenerDiscovery(listenerPublishClass = DataFlowEventPublishing.class,
  31. basePackages = {"com.java110.center.listener"})
  32. public class CenterServiceApplicationStart {
  33. /**
  34. * 实例化RestTemplate,通过@LoadBalanced注解开启均衡负载能力.
  35. * @return restTemplate
  36. */
  37. @Bean
  38. @LoadBalanced
  39. public RestTemplate restTemplate() {
  40. StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  41. RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build();
  42. return restTemplate;
  43. }
  44. /**
  45. * 实例化RestTemplate
  46. * @return restTemplate
  47. */
  48. @Bean
  49. public RestTemplate restTemplateNoLoadBalanced() {
  50. StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  51. RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build();
  52. return restTemplate;
  53. }
  54. public static void main(String[] args) throws Exception{
  55. ApplicationContext context = SpringApplication.run(CenterServiceApplicationStart.class, args);
  56. //服务启动加载
  57. ServiceStartInit.initSystemConfig(context);
  58. //加载事件数据
  59. //EventConfigInit.initSystemConfig();
  60. //刷新缓存
  61. flushMainCache(args);
  62. }
  63. /**
  64. * 刷新主要的缓存
  65. * @param args
  66. */
  67. private static void flushMainCache(String []args) {
  68. if (args == null || args.length == 0) {
  69. return;
  70. }
  71. for (int i = 0; i < args.length; i++) {
  72. if (args[i].equalsIgnoreCase("-Dcache")) {
  73. ICenterServiceCacheSMO centerServiceCacheSMO = (ICenterServiceCacheSMO) ApplicationContextFactory.getBean("centerServiceCacheSMOImpl");
  74. centerServiceCacheSMO.startFlush();
  75. }
  76. }
  77. }
  78. }