欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php实现通过stomp协议连接ActiveMQ操作示例

程序员文章站 2022-05-25 22:58:15
本文实例讲述了php实现通过stomp协议连接activemq操作。分享给大家供大家参考,具体如下:前面介绍了php activemq的安装与使用,这里再来讲述一下php通过stomp协议连接acti...

本文实例讲述了php实现通过stomp协议连接activemq操作。分享给大家供大家参考,具体如下:

前面介绍了php activemq的安装与使用,这里再来讲述一下php通过stomp协议连接activemq。

一、安装php的stomp扩展

http://pecl.php.net/package/stomp

如:stomp-2.0.0.tgz

> tar xf stomp-1.0.9.tgz
> cd stomp-1.0.9
> /data/php56/bin/phpize
> ./configure --with-php-config=/data/php56/bin/php-config
> make && make install

修改php.ini文件

> vi /data/php56/lib/php.ini

注意这里php环境的扩展路径(请自行修改)

extension_dir = "/data/php56/lib/php/extensions/no-debug-zts-20131226/"
extension=stomp.so

查看扩展是否安装成功

> /data/php56/bin/php -m|grep stomp

二、使用stomp扩展连接activemq

我们通过http://192.168.1.222:8161/admin/后台创建一个队列test测试。

php实现通过stomp协议连接ActiveMQ操作示例

并在该test队列中发送一条消息

php实现通过stomp协议连接ActiveMQ操作示例

然后我们通过php获取该队列中的消息,代码如下:

<?php
try {
 //61613默认的端口,在activemq目录conf/activemq.xml文件可查看
 $stomp = new stomp('tcp://192.168.1.222:61613');
} catch (stompexception $e) {
 die('error: ' . $e->getmessage());
}

//订阅一个消息队列
$stomp->subscribe('/queue/test');
//读取队列
$frame = $stomp->readframe();
//输出消息体内容
echo $frame->body, php_eol;

运行上面的代码

> /data/php56/bin/php 1.php

php实现通过stomp协议连接ActiveMQ操作示例