`

apache qpid client连eurex的qpid server

阅读更多

背景:jms提供了j2ee框架内系统间消息传递的规范,而amqp(advanced message queue protocol)提供了跨语言的消息传递规范,broker端有cpp和java的实现,client端则有无数的方式来连接它。

 

一,qpid java 

1,可上官方网站下载qpid-java-broker和qpid-java-client, 到broker home目录,运行bin\qpid-server启动broker,服务开启在5672端口。可通过localhost:8080对exchange, queue, binding等进行查看和管理。

2,从官网下载qpid-java-client为客户端,用eclipse导入,example里面的例子可以直接运行,通过broker进行消息传递。

 

二,eurex的fix simulation

1,环境准备:可最小化安装一个centOS作为simulation的服务器。下载centOS6.5 mini iso,新建虚拟机,硬盘2G(2G刚好,不多不少),内存512M(这个可以装好后自己改小)。硬盘和内存太小了centOS会拒绝安装。默认会安装204个rpm占硬盘500M左右。硬盘默认分1.3G的/和485M的/boot。

2,上eurex网站下载其fix simulation的rpm包。centOS里ifup eth0打开网络,用curl取得或通过ftp从宿主机下载。yum install amq*.rpm安装,这个rpm本身只有一个bash script,在运行之前会安装依赖包包括qpid cpp server, ssl等共40多个rpm硬盘空间共占到700M+,然后运行script, 创建truststore, keystore,exchange, queue, binding等,最后启动qpid server在11234(ssl)和21234端口。

3,用qpid client连的时候example里hello连21234端口可以很容易通过,用eurex B手册上requestsender去连11234(ssl)的时候,要先从server上取得truststore和keystore,在程序中正确设置才能通过双方的认证。在真正连eurex接口的时候,应该是自己用keytool生成一个crt上传到服务器,同时从服务器下载其证书(truststore)。

现在还有问题就是server不接受external的sasl认证方法,改成plain的话又出现找不到exchange的情况。继续研究。

 

附:centOS与宿主机的通信:可以通过ftp传文件,ssh远程登录。vsftpd好像默认没有安装,要安装下,然后从ftpusers和user_list中去掉禁用的用户,然后setsebool -P allow_ftpd_full_access 1 否则访问不到自己家目录。

有时候连不上,可以关掉防火墙:service iptables stop

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics