AcctServiceApplicationStart.java 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.java110.acct;
  2. import com.java110.core.annotation.Java110CmdDiscovery;
  3. import com.java110.core.annotation.Java110ListenerDiscovery;
  4. import com.java110.core.client.RestTemplate;
  5. import com.java110.core.event.cmd.ServiceCmdEventPublishing;
  6. import com.java110.core.event.service.BusinessServiceDataFlowEventPublishing;
  7. import com.java110.service.init.ServiceStartInit;
  8. import org.slf4j.Logger;
  9. import org.slf4j.LoggerFactory;
  10. import org.springframework.boot.SpringApplication;
  11. import org.springframework.boot.autoconfigure.SpringBootApplication;
  12. import org.springframework.boot.web.client.RestTemplateBuilder;
  13. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  14. import org.springframework.cloud.client.loadbalancer.LoadBalanced;
  15. import org.springframework.cloud.openfeign.EnableFeignClients;
  16. import org.springframework.context.ApplicationContext;
  17. import org.springframework.context.annotation.Bean;
  18. import org.springframework.http.converter.StringHttpMessageConverter;
  19. import java.nio.charset.Charset;
  20. /**
  21. * spring boot 初始化启动类
  22. *
  23. * @version v0.1
  24. * @auther com.java110.wuxw
  25. * @mail 928255095@qq.com
  26. * @date 2016年8月6日
  27. * @tag
  28. */
  29. @SpringBootApplication(
  30. scanBasePackages = {"com.java110.service","com.java110.core", "com.java110.acct", "com.java110.config.properties.code", "com.java110.db"},
  31. excludeName = {"com.java110.intf.acct"}
  32. )
  33. @EnableDiscoveryClient
  34. @Java110ListenerDiscovery(listenerPublishClass = BusinessServiceDataFlowEventPublishing.class,
  35. basePackages = {"com.java110.acct.listener"})
  36. @Java110CmdDiscovery(cmdPublishClass = ServiceCmdEventPublishing.class,
  37. basePackages = {"com.java110.acct.cmd"})
  38. @EnableFeignClients(basePackages = {"com.java110.intf.community","com.java110.intf.common","com.java110.intf.store",
  39. "com.java110.intf.fee","com.java110.intf.order","com.java110.intf.user"})
  40. public class AcctServiceApplicationStart {
  41. private static Logger logger = LoggerFactory.getLogger(AcctServiceApplicationStart.class);
  42. private static final String LISTENER_PATH = "java110.UserService.listeners";
  43. public static void main(String[] args) throws Exception {
  44. try {
  45. ServiceStartInit.preInitSystemConfig();
  46. ApplicationContext context = SpringApplication.run(AcctServiceApplicationStart.class, args);
  47. ServiceStartInit.initSystemConfig(context);
  48. //加载业务侦听
  49. // SystemStartLoadBusinessConfigure.initSystemConfig(LISTENER_PATH);
  50. } catch (Throwable e) {
  51. logger.error("系统启动失败", e);
  52. }
  53. }
  54. /**
  55. * 实例化RestTemplate,通过@LoadBalanced注解开启均衡负载能力.
  56. *
  57. * @return restTemplate
  58. */
  59. @Bean
  60. @LoadBalanced
  61. public RestTemplate restTemplate() {
  62. StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  63. RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
  64. return restTemplate;
  65. }
  66. /**
  67. * 实例化RestTemplate,通过@LoadBalanced注解开启均衡负载能力.
  68. *
  69. * @return restTemplate
  70. */
  71. @Bean
  72. public RestTemplate outRestTemplate() {
  73. StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  74. RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
  75. return restTemplate;
  76. }
  77. }