springboot 1.5.21整合dubbo框架(二)-建立消费者并进行消费

  1. 将controller中的spring的@AutoWired改为dubbo的@Reference
@Controller
public class UmsMemberController {
    @Reference
    private UserService userService;
    @RequestMapping("/index")
    public List<UmsMember> index(){
       List<UmsMember> user = userService.getList();
       return user;
       }
    @RequestMapping("/getPage")
    public IPage<UmsMember> getPage(){
        IPage<UmsMember> page =userService.getPage();
        return page;
       }    
    }
  1. 将spring的@Service改为dubbo的@Service
// @Service ---》import com.alibaba.dubbo.config.annotation.Service;
@Service
public class UmsMemberServiceImpl extends ServiceImpl<UmsMemberMapper, UmsMember> implements UserService {
    @Autowired
    private UmsMemberReceiveAddressMapper umsMemberReceiveAddressMapper;

    @Override
    public List<UmsMember> getList() {
        QueryWrapper<UmsMember> wrapper = new QueryWrapper<UmsMember>();
        wrapper.eq("status", StaticConstant.ONE);
        List<UmsMember> list = this.list(wrapper);
        return list;
    }
    }
  1. 修改application.properties配置文件
server.port=8080
logging.level.root=debug
#dubbo 的配置
#dubbo 中服务(容器)名称
spring.dubbo.application=user-web
#dubbo 的通讯协议名称
spring.dubbo.protocol.name=dubbo
#zookeeper注册中心地址
spring.dubbo.registry.address=192.168.245.127:2181
#zookeeper的通讯协议的名称
spring.dubbo.registry.protocol=zookeeper
#dubbo的服务的扫描路径
spring.dubbo.base-package=com.atguigu.gmall
#设置请求超时时间10分钟
spring.dubbo.consumer.timeout=600000
#设置是否检查服务是存在(防止服务之间未启动时抛出异常)
spring.dubbo.consumer.check=false

******dubbo配置注意事项:

  1. 将spring的@Service改为dubbo的@Service
  2. 将controller中的spring的@AutoWired改为dubbo的@Reference
  3. 当dubbo进行dubbo协议通信时需要进行接口封装数据序列化,否则会调用失败
  4. dubbo的服务在3秒钟之内会间隔一秒进行一次重新访问,默认一秒钟超时,三次访问之后,直接会抛出超时异常,因此我们在开发阶段,可以将consumer(消费者)设置超时时间,方便断点调试程序;
  5. 设置请求是否检查服务存在为false,好处是防止服务之间因为调用其他服务但没有启动时抛出异常
发布了17 篇原创文章 · 获赞 0 · 访问量 206

猜你喜欢

转载自blog.csdn.net/qq_41444226/article/details/103302733