SpringCloud Alibaba实战(12:引入Dubbo实现RPC调用

文章详细描述了如何将eshop-stock的业务代码重构到新的module,并介绍了如何通过Dubbo提供RPC服务,包括依赖导入、服务实现(如StockApiServiceImpl)和远程调用配置。同时,文章还涉及了商品服务的消费者端配置,以及Dubbo集群容错和调试的相关内容。
摘要由CSDN通过智能技术生成

2.1.2.eshop-stock-service

我们把原来eshop-stock的相关业务代码都改到了这个module里。

同时,为了实现RPC服务的提供,我们需要:

  • 导入依赖:主要需要导入两个依赖dubbo的依赖,和eshop-stock-api接口声明的依赖,这里的 设置为compile,这样我们在编译eshop-stock-service的时候,也会编译相应的api依赖。

com.alibaba.cloud

spring-cloud-starter-dubbo

cn.fighter3

eshop-stock-api

1.0-SNAPSHOT

compile

  • StockApiServiceImpl.java:创建一个类,实现api中声明的接口,其中@Service是Dubbo提供的注解,表示当前服务会发布成一个远程服务,不要和Spring提供的搞混。

/**

  • @Author 三分恶

  • @Date 2021/11/14

  • @Description 库存服务提供RPC接口实现类

*/

@org.apache.dubbo.config.annotation.Service

@Slf4j

public class StockApiServiceImpl implements StockApiService {

@Autowired

private ShopStockMapper stockMapper;

/**

  • 添加库存

  • @param stockAddDTO

  • @return

*/

@Override

public Integer addStock(StockAddDTO stockAddDTO) {

ShopStock stock = new ShopStock();

stock.setGoodsId(stockAddDTO.getGoodsId());

stock.setInventory(stockAddDTO.getAccount());

log.info(“准备添加库存,参数:{}”, stock.toString());

this.stockMapper.insert(stock);

Integer stockId = stock.getStockId();

log.info(“添加库存成功,stockId:{}”, stockId);

return stockId;

}

/**

  • 获取库存数量

  • @param goodsId

  • @return

*/

@Override

public Integer getAccountById(Integer goodsId) {

ShopStock stock = this.stockMapper.selectOne(Wrappers.lambdaQue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值