上午折腾好了SpringBoot+Dubbo这套东西,请求也没有问题,只是消费端的服务不在管理后台中显示:
由于直接在服务上指定地址了,这种方式会直接绕过注册中心,所以注册中心的管理后台当然看不到了
修改之后就好了
这样也有好处就是,在调试阶段可以直接跳过注册中心避免注册中心服务太多启动时间长的问题,节省服务调试时间,
还有就是application.properties 中的不需要spring. 前缀 ,我的消费者的配置如下:
spring.application.name=dubboconsumer
## 避免和 server 工程端口冲突
server.port=8081
#spring.dubbo.application.name=dubboconsumer
#spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
#spring.dubbo.scan=org.spring.springboot.dubbo
## Dubbo 服务消费者配置
dubbo.application.name=dubboconsumer
dubbo.application.id=dubboconsumer
dubbo.protocol.port=20880
dubbo.protocol.name=dubbo
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.consumer.check=true
消费者的代码:
import com.alibaba.dubbo.config.annotation.Reference;
import com.rain.study.service.SayHelloService;
import org.springframework.stereotype.Component;
@Component
public class HelloConsumer {
@Reference(version = "1.0.0")
private SayHelloService sayHelloService;
public String sayHello(String name){
return sayHelloService.sayHello(name);
}
}
Controller调用的代码:
@RestController
public class DubboServiceConsumerController {
@Autowired
private HelloConsumer sayHelloService;
@RequestMapping(value = "/test")
public String hello(){
return sayHelloService.sayHello("test -->> ");
}
}
至此,SpringBoot+Dubbo注解形式的就集成结束了,回头继续集成MyBatis