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具有消息存储顺序写.吞吐 ...
随机推荐
- 学习笔记《Java多线程编程实战指南》四
JAVA线程同步机制 线程同步机制:是一套用于协调线程间的数据访问及活动的机制,该机制用于保障线程安全以及实现这些线程的共同目标.java平台提供的线程同步机制包括锁.volatile关键字.fina ...
- [转][C#]ImageHelper
{ internal static class ImageHelper { public static Bitmap CloneBitmap(Image source) { if (source == ...
- windows使用im4java 提示FileNotFoundException
1)安装imageMagic时候要勾上convert那一行,确保安装目录下有convert.exe 2)使用image4java的全局类里面加上 //ImageMagick的安装路径 public s ...
- YAML快速入门
https://www.jianshu.com/p/97222440cd08 我们学习Java,都是先介绍properties文件,使用properties文件配合Properties对象能够很方便的 ...
- C#验证ip地址的代码
如下的代码是关于C#验证ip地址的代码. public Boolean CheckIPValid(String strIP) { char chrFullStop = '.'; string[] ar ...
- Laravel发送邮箱消息验证
945的密码:umywcvkrfrytfeef ENV的配置如下: MAIL_DRIVER=smtpMAIL_HOST=smtp.qq.comMAIL_PORT=25MAIL_USERNAME=XXX ...
- scrapy-middlewares
1.scrapy中间件 下载中间件Downloader Middlewares 下载器中间件处理请求与响应,对应两个方法 process_request(self, request, spider) ...
- vscode更新后 ctrl+v、ctrl+c、ctrl+x不可以用了,而且光标变粗,已解决
vscode更新后 ctrl+v.ctrl+c.ctrl+x不可以用了,而且光标变粗,已解决 原因是 你的vscode里面安装了 vim ,简单粗暴的方法就是直接卸载掉就可以了. 卸载vim方法:在v ...
- Python环境下的Sublime Text3无法使用input()函数
在Sublime Text3中写好Python程序,按Ctrl+B运行程序,在控制台中输入内容,回车,程序没有响应.最后求助网络,找到了解决办法. 一.安装插件SublimeREPL 按Ctrl+Sh ...
- MTK6261 11C之Init Analysis【手记】
初始化流程 Application_Initialize systemInitialization(); HWDInitialization(); USC_Start(); OSTD_Init(); ...