zoukankan      html  css  js  c++  java
  • 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=[]){
    
        }
    }
    

      

  • 相关阅读:
    html实现虚线分隔线3例
    sql server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件
    在Repeater中添加runat="server"的div,并控制
    Oracle中实现自增长列(转)
    SQL中按月进行分组(转)
    复制到剪切板js代码(转)
    如何使 Menu控件的链接打开指定的框架页(转)
    RadioButtonList限制每行"项"的个数
    Repeater_ItemDataBound 中用字段名获取值
    IIS7.0下配置Asp项目
  • 原文地址:https://www.cnblogs.com/diguaer/p/9261111.html
Copyright © 2011-2022 走看看