背景
从控制台可看到dubbo成功,创建支付订单和消息存入数据库可以成功,但是发消息失败。
发消息采用结合springboot方式。
1.启动相关项目
因为从MQ接受的信息需要修改订单,所以,订单项目也要启动,和订单相关的用户、优惠券项目也要启动。
2.在payService中测试
需要加上System.in.read(),防止测试程序停止了,还没有来得及发消息
3.在web项目中测试
4.测试中发消息报错
支付回调流程中发送消息报错
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.alibaba.dubbo.spring.boot.DubboProviderAutoConfiguration': Invocation of init method failed; nested exception is com.alibaba.dubbo.rpc.RpcException: Fail to start server(url: dubbo://192.168.21.1:20885/com.itheima.api.IPayService?anyhost=true&application=dubbo-pay-provider&bind.ip=192.168.21.1&bind.port=20885&channel.readonly.sent=true&codec=dubbo&dubbo=2.6.0&generic=false&heartbeat=60000&interface=com.itheima.api.IPayService&methods=callbackPayment,createPayment&pid=13896&side=provider×tamp=1584437727851) Failed to bind NettyServer on /192.168.21.1:20885, cause: Failed to bind to: /0.0.0.0:20885
代码参见:QQ邮箱【代码-rocketMQ、Dubbo】订单创建和支付的代码
本机地址:D:\下载\java\黑马\资料-全面解剖RocketMQ和项目实战\RocketMQ\代码\shop-project
采用其他方式发消息
https://www.bilibili.com/video/av71654125?p=19
支付回调处理流程分析(录视频)
https://www.bilibili.com/video/av71654125?p=79
订单微服务处理支付——发送有问题,但是消费应该可以,先练习简单的发送和消费,数据采用本案例的数据