Qpid C++ 与 Java 互通 注意事项

Qpid C++ 与 Java 互通 注意事项

Qpid 对Broker和Client API(以下简称Client)分别提供了C++和Java版本,由于C++和Java版本是独立实现的,存在一些差异,所以互通时也有一些注意事项。

先来看看有哪些差异:

  1. 实现的AMQP版本差异
  • C++的Broker和Client实现了AMQP 0-10和1.0版本
  • Java的Broker和Client实现了AMQP 0-8,0-9,0-10和1.0版本
  1. 程序结构差异
  • Java Broker下可以有多个VirtualHost,而C++ Broker下没有VirtualHost的概念,相当于只有一个VirtualHost,即default VirtualHost;
  • Java Broker下有多个Port,C++ Broker下没有Port的概念,相当于只有一个AMQP Port
  1. 管理方式差异
  • C++ Broker的管理通过基于Qpid消息通信的QMF管理,提供多个基于Python API实现的命令行工具
  • Java Broker通过MANAGEMENT-HTTP插件实现WEB式GUI管理界面
  1. 默认配置差异
  • C++ Broker默认未开启认证,可以直接匿名连接,
  • Java默认开启plain方式认证,连接需要用户名密码
  1. 其他实现差异
  • 消息分组Java区分为Standard和Shared两种方式;C++仅实现Shared方式。

互通注意事项:

  1. 协议只能使用AMQP 0-10和1.0,这个可以通过自动协商事项,不需要关注;
  2. Java Client访问C++ Broker仅使用默认VirtualHost,不可指定;而C++ Client访问Java如不指定VirtualHost则访问默认VirtualHost,也可以通过Connection的open方法指定VirtualHost或者设置Connection的Option“virtualhost”来指定。
  3. 无法交叉管理,Java Broker没有实现QMF,无法用C++ Broker提供的命令行工具管理,C++ Broker也不支持WEB管理方式。
  4. Java Client中指定了用户名密码,C++ Broker设置为匿名访问是可以的;Java Broker设置了plain方式验证,C++ Client中需要指定用户名密码,可以使用Connection的open方法参数或者设置Option “username”和“password”;Java Broker可以通过管理工具将AMQP端口的验证方式修改为Anonymous来实现匿名方式;C++ Broker也可以开启用户验证来提升安全性;这些设置可以参考官方文档。
  5. Java客户端应用需要注意C++ Broker只实现了shared方式的消息分组。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞花丝雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值