activemq stomp类
此库用来增强ide,能对stomp类进行自动提示
<?php
class Stomp
{
/**
* 构造器
* Stomp constructor.
* @param string $broker:连接地址,如:tcp://localhost:61613
* @param string $username:用户名,默认为admin
* @param string $password:密码:默认为admin
* @param array $headers:头,如['client-id'=>$clientId]等
*/
public function __construct(string $broker,string $username="admin",string $password="admin",array $headers=[])
{
} /**
* 获取连接id
*/
public function getSessionId():string{ }
/**
* 设置超时时间
* @param int $seconds:秒部分
* @param int $microseconds:毫秒部分
*/
public function setReadTimeout(int $seconds=10,int $microseconds=0){} /**
* 获取超时时间
* @return array
* array(2) {
["sec"]=>
int(2)
["usec"]=>
int(0)
}
*/
public function getReadTimeout():array { } /**
* 获取最后的一次错误
* @return string
*/
public function error():string{ } /**
* 发送消息
* @param string $queue:队列名
* @param mixed $msg:消息内容
* @param array $headers:头
* @return bool:是否成功
*/
public function send(string $queue,mixed $msg,array $headers=[]):bool{ } /**
* 订阅某个队列,然后调用readFrame可以获取到消息
* @param $queue:队列名
* @param $headers:头参数数组
* @return bool:
*/
public function subscribe(string $queue,array $headers=[]):bool{ } /**
* 取消某个订阅
* @param string $queue
* @param array $headers
* @return bool
*/
public function unsubscribe(string $queue,array $headers=[]):bool { } /**
* 判断此队列是否还有消息
* @return bool
*/
public function hasFrame():bool{ } /**
* 读取下一条消息
* object(StompFrame)#2 (3) {
["command"]=>
string(7) "MESSAGE"
["headers"]=>
array(5) {
["message-id"]=>
string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
["destination"]=>
string(10) "/queue/foo"
["timestamp"]=>
string(13) "1257226805828"
["expires"]=>
string(1) "0"
["priority"]=>
string(1) "0"
}
["body"]=>
string(3) "bar"
}
*/
public function readFrame():StompFrame{ } /**
* 确认消息
* @param mixed $frame:消息帧
* @param array $headers:头,可不填
* @return bool:确认成功或者失败
*/
public function ack(mixed $frame, array $headers=[]):bool { } /**
* 开始事务
*
*
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
} //begin a transaction
$stomp->begin('t1'); //send a message to the queue
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1')); // rollback
$stomp->abort('t1'); // close conection
unset($stomp);
?>
* @param string $transactionId:事务id,自己创建,保证唯一性
* @param array $headers
*/
public function begin(string $transactionId,array $headers=[]){ }
/**
* 提交事务
*
*
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
} //begin a transaction
$stomp->begin('t1'); //send a message to the queue
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1')); // rollback
$stomp->commit('t1'); // close conection
unset($stomp);
?>
* @param string $transactionId:事务id,自己创建,保证唯一性
* @param array $headers
*/
public function commit(){ } /**
* 回滚事务
*
*
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
} //begin a transaction
$stomp->begin('t1'); //send a message to the queue
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1')); // rollback
$stomp->abort('t1'); // close conection
unset($stomp);
?>
* @param string $transactionId:事务id,自己创建,保证唯一性
* @param array $headers
*/
public function abort(string $transactionId,array $headers=[]){ }
}
activemq stomp类的更多相关文章
- php 利用activeMq+stomp实现消息队列
php 利用activeMq+stomp实现消息队列 一.activeMq概述 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J ...
- spring+rabbitmq+stomp搭建websocket消息推送(非spring boot方式)
前言: 两年前做过spring+activemq+stomp的ws推送,那个做起来很简单,但现在公司用的mq中间件是rabbitmq,因此需要通过rabbitmq去做ws通信.仔细搜了搜百度/谷歌,网 ...
- centos下的activemq的配置及PHP的使用
一.安装JDK 1.下载JDK(官网:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...
- ActiveMQ异步分发消息
org.apache.activemq.ActiveMQConnection 类中有个参数: protected boolean dispatchAsync=true; 这个参数的含义到底是什么? 使 ...
- ElasticSearch(九):springboot项目集成消息中间件activeMQ
目的:为了将elasticsearch做成单独的服务,那么我们必须解耦,也就是业务逻辑和搜索模块是没有关系的,并且是异步的.那么项目之间通信,使用的选择有限,消息中间件是一个不错的选择. 消息中间件常 ...
- activemq消息重发机制[转]
大家知道,JMS规范中,Message消息头接口中有setJMSRedelivered(boolean redelivered)和getJMSRedelivered()方法,用于设置和获取消息的重发标 ...
- Golang 实现UDPServer并发送消息到ActiveMQ
示例代码 package main import ( "net" "os" "github.com/gpmgo/gopm/modules/goconf ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- metaq
MetaQ(全称Metamorphosis)是一个高性能.高可用.可扩展的分布式消息中间件,思路起源于LinkedIn的Kafka,但并不是Kafka的一个Copy.MetaQ具有消息存储顺序写.吞吐 ...
随机推荐
- final link failed: Nonrepresentable section on output
编译live555的时候遇到了这个问题,前面的编译没有问题,是在链接的时候出现的,在网上搜索说是缺少 libstdc++ 库.于是,安装之 #sudo apt-get install libstdc ...
- consul分布式集群搭建
环境准备 三台机器: vm-a 10.200.110.90 centos7vm-b 10.200.110.91 centos7vm-c 10.200.110.93 ...
- Rhel6.5 相关操作
Rhel 将光盘挂载动作 操作部分1 挂载光盘 https://jingyan.baidu.com/article/e52e3615a9c19440c60c5121.html ls -l /dev | ...
- python SSH客户端的交互式和非交互方式
使用python中有一个paramiko模块来实现python SSH客户端,与SSH服务器交互时,需要注意有交互式和非交互式的区别. 只执行单条命令,之后就断开链接,可以使用非交互方式.执行多条命令 ...
- listview-android:打造万能通用适配器(转)
转载:https://blog.csdn.net/q649381130/article/details/51781921: 1.前言 listview作为安卓项目中一个的明星控件,它的适配器的写法是广 ...
- Unity 三角函数 向量 运算
其实三维的和二维的基本差不多,一样的运算方式,unity已经把所有的方法都封装起来,主要是理解,能理解了就直接调用了 三角函数 知识点:三角函数基础正玄余玄.三角函数曲线.弧度制和角度制.弧度制和角度 ...
- VC工程产生文件后缀名解释
[原文出自http://hi.baidu.com/zj0932zj/blog/item/b55f33cc7753c01700e92870.html ] .APS:存放二进制资源的中间文件,VC把当前资 ...
- xshell使用密钥登陆linux
一.环境CentOS 7.4xshell 6 二.介绍远程ssh连接服务器 默认是用的密码验证的方式,而且还是root账号,这样的验证方式会有安全隐患,容易被人暴力破解root密码.如果改成用密钥登陆 ...
- TreeMap中文排序,TreeMap倒序输出排列
1.TreeMap集合倒序排列 import java.util.Comparator; /** * 比较算法的类,比较器 * @author Administrator * */ public cl ...
- 删除链表的倒数第N个节点
题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后 ...