pay-provider的bootstrap.yml文件配置:
dubbo:
scan:
base-packages: com.jumi.microservice
protocol:
name: dubbo
# -1 随机端口
port: -1
registry:
# 挂载到 Spring Cloud 注册中心
address: spring-cloud://localhost
consumer:
check: false
pay-provider的pom.xml文件配置:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
</dependency>
pay-provider的PayServiceImpl文件:
import org.apache.dubbo.config.annotation.Service;
@Service
public class PayServiceImpl implements IPayService {
pay-api的service提供接口:
public interface IPayService {
外部服务调用:
after-sale-provider的bootstrap.yml文件配置:
dubbo:
scan:
base-packages: com.jumi.microservice
protocol:
name: dubbo
# -1 随机端口
port: -1
registry:
# 挂载到 Spring Cloud 注册中心
address: spring-cloud://localhost
consumer:
check: false
afer-sale-provider的pom.xml文件配置:
<dependency>
<groupId>com.jumi.microservice</groupId>
<artifactId>pay-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
</dependency>
afer-sale-provider的AdminRefundServiceImpl文件:
import org.apache.dubbo.config.annotation.Reference;
@Service
public class AdminRefundServiceImpl {
@Reference
private IPayService iPayService;
备注:Nacos服务之间相互调用必须在同一命名空间下,否则调不到服务。
Dubbo调用需要用Reference调用外部服务,不能继续使用Resource调用外部服务【feign】。