<?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=[]){
}
}以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
以上就是关于activemq stomp类代码的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号