1
0
mirror of https://gitee.com/mirrors/Spring-Cloud-Alibaba.git synced 2021-06-26 13:25:11 +08:00

Polish the first GA for spring-cloud-alibaba-dubbo

This commit is contained in:
mercyblitz
2019-01-22 00:25:55 +08:00
parent 5c2b118523
commit 3c51f9f8d8
20 changed files with 884 additions and 656 deletions

View File

@@ -16,35 +16,27 @@
*/
package org.springframework.cloud.alibaba.dubbo.bootstrap;
import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import com.alibaba.dubbo.config.annotation.Reference;
import com.alibaba.dubbo.config.spring.ReferenceBean;
import com.alibaba.dubbo.config.spring.ServiceBean;
import com.alibaba.dubbo.config.spring.context.event.ServiceBeanExportedEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.alibaba.dubbo.service.EchoService;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* Dubbo Spring Cloud Bootstrap
*/
@EnableDiscoveryClient
@EnableAutoConfiguration
@EnableFeignClients
@EnableScheduling
@RestController
public class DubboSpringCloudBootstrap {
@@ -67,38 +59,16 @@ public class DubboSpringCloudBootstrap {
String echo(@RequestParam("message") String message);
}
// @Bean
// public ApplicationRunner applicationRunner() {
// return arguments -> {
// // Dubbo Service call
// System.out.println(echoService.echo("mercyblitz"));
// // Spring Cloud Open Feign REST Call
// System.out.println(feignEchoService.echo("mercyblitz"));
// };
// }
@Autowired
private ApplicationConfig applicationConfig;
@Autowired
private List<RegistryConfig> registries;
@EventListener(ServiceBeanExportedEvent.class)
public void onServiceBeanExportedEvent(ServiceBeanExportedEvent event) {
ServiceBean serviceBean = event.getServiceBean();
ReferenceBean referenceBean = new ReferenceBean();
referenceBean.setApplication(applicationConfig);
referenceBean.setRegistries(registries);
referenceBean.setInterface(serviceBean.getInterfaceClass());
referenceBean.setInterface(serviceBean.getInterface());
referenceBean.setVersion(serviceBean.getVersion());
referenceBean.setGroup(serviceBean.getGroup());
Object object = referenceBean.get();
System.out.println(object);
@Bean
public ApplicationRunner applicationRunner() {
return arguments -> {
// Dubbo Service call
System.out.println(echoService.echo("mercyblitz"));
// Spring Cloud Open Feign REST Call
System.out.println(feignEchoService.echo("mercyblitz"));
};
}
public static void main(String[] args) {
new SpringApplicationBuilder(DubboSpringCloudBootstrap.class)
.run(args);