CommonServiceApplicationStart.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. /*
  2. * Copyright 2017-2020 吴学文 and java110 team.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. package com.java110.common;
  17. import com.java110.core.annotation.Java110CmdDiscovery;
  18. import com.java110.core.annotation.Java110ListenerDiscovery;
  19. import com.java110.core.trace.Java110RestTemplateInterceptor;
  20. import com.java110.core.client.RestTemplate;
  21. import com.java110.core.event.cmd.ServiceCmdEventPublishing;
  22. import com.java110.core.event.service.BusinessServiceDataFlowEventPublishing;
  23. import com.java110.service.init.ServiceStartInit;
  24. import org.slf4j.Logger;
  25. import com.java110.core.log.LoggerFactory;
  26. import org.springframework.boot.SpringApplication;
  27. import org.springframework.boot.autoconfigure.SpringBootApplication;
  28. import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
  29. import org.springframework.boot.web.client.RestTemplateBuilder;
  30. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  31. import org.springframework.cloud.client.loadbalancer.LoadBalanced;
  32. import org.springframework.cloud.openfeign.EnableFeignClients;
  33. import org.springframework.context.ApplicationContext;
  34. import org.springframework.context.annotation.Bean;
  35. import org.springframework.http.converter.StringHttpMessageConverter;
  36. import javax.annotation.Resource;
  37. import java.nio.charset.Charset;
  38. /**
  39. * spring boot 初始化启动类
  40. *
  41. * @version v0.1
  42. * @auther com.java110.wuxw
  43. * @mail 928255095@qq.com
  44. * @date 2016年8月6日
  45. * @tag
  46. */
  47. @SpringBootApplication(scanBasePackages = {
  48. "com.java110.service",
  49. "com.java110.common",
  50. "com.java110.core",
  51. "com.java110.config.properties.code",
  52. "com.java110.db",
  53. "com.java110.doc"},
  54. exclude = {LiquibaseAutoConfiguration.class,
  55. org.activiti.spring.boot.SecurityAutoConfiguration.class,
  56. org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class}
  57. )
  58. @EnableDiscoveryClient
  59. @Java110ListenerDiscovery(listenerPublishClass = BusinessServiceDataFlowEventPublishing.class,
  60. basePackages = {"com.java110.common.listener"})
  61. @Java110CmdDiscovery(cmdPublishClass = ServiceCmdEventPublishing.class,
  62. basePackages = {"com.java110.common.cmd"})
  63. @EnableFeignClients(basePackages = {
  64. "com.java110.intf.user",
  65. "com.java110.intf.store",
  66. "com.java110.intf.fee",
  67. "com.java110.intf.community",
  68. "com.java110.intf.job",
  69. "com.java110.intf.order",
  70. "com.java110.intf.oa",
  71. "com.java110.intf.report",
  72. "com.java110.intf.acct",
  73. "com.java110.intf.api"
  74. })
  75. public class CommonServiceApplicationStart {
  76. private static Logger logger = LoggerFactory.getLogger(CommonServiceApplicationStart.class);
  77. @Resource
  78. private Java110RestTemplateInterceptor java110RestTemplateInterceptor;
  79. /**
  80. * 实例化RestTemplate,通过@LoadBalanced注解开启均衡负载能力.
  81. *
  82. * @return restTemplate
  83. */
  84. @Bean
  85. @LoadBalanced
  86. public RestTemplate restTemplate() {
  87. StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  88. RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
  89. restTemplate.getInterceptors().add(java110RestTemplateInterceptor);
  90. return restTemplate;
  91. }
  92. /**
  93. * 实例化RestTemplate
  94. *
  95. * @return restTemplate
  96. */
  97. @Bean
  98. public RestTemplate outRestTemplate() {
  99. StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  100. com.java110.core.client.RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
  101. return restTemplate;
  102. }
  103. public static void main(String[] args) throws Exception {
  104. ServiceStartInit.preInitSystemConfig();
  105. ApplicationContext context = SpringApplication.run(CommonServiceApplicationStart.class, args);
  106. ServiceStartInit.initSystemConfig(context);
  107. //初始化 activity 流程
  108. //DeploymentActivity.deploymentProcess();
  109. }
  110. }