ホームページ  >  記事  >  バックエンド開発  >  activemq stomp クラスのコードについて

activemq stomp クラスのコードについて

不言
不言オリジナル
2018-07-04 13:53:171656ブラウズ

この記事では主に、ある参考値を持つ activemq stomp クラスのコードを紹介します。今、みんなに共有します。必要な友人は参照してください。

このライブラリは、次の目的で使用されます。 IDE を強化し、ストンプ クラスに自動的にプロンプ​​トを表示できます

<?php
class Stomp
{
    /**
     * 构造器
     * Stomp constructor.
     * @param string $broker:连接地址,如:tcp://localhost:61613
     * @param string $username:用户名,默认为admin
     * @param string $password:密码:默认为admin
     * @param array $headers:头,如[&#39;client-id&#39;=>$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(&#39;tcp://localhost:61613&#39;);
    } catch(StompException $e) {
    die(&#39;Connection failed: &#39; . $e->getMessage());
    }

    //begin a transaction
    $stomp->begin(&#39;t1&#39;);

    //send a message to the queue
    $stomp->send(&#39;/queue/foo&#39;, &#39;bar&#39;, array(&#39;transaction&#39; => &#39;t1&#39;));

    // rollback
    $stomp->abort(&#39;t1&#39;);

    // close conection
    unset($stomp);
    ?>
     * @param string $transactionId:事务id,自己创建,保证唯一性
     * @param array $headers
     */
    public function begin(string $transactionId,array $headers=[]){

    }
    /**
     * 提交事务
     *
     *
    try {
    $stomp = new Stomp(&#39;tcp://localhost:61613&#39;);
    } catch(StompException $e) {
    die(&#39;Connection failed: &#39; . $e->getMessage());
    }

    //begin a transaction
    $stomp->begin(&#39;t1&#39;);

    //send a message to the queue
    $stomp->send(&#39;/queue/foo&#39;, &#39;bar&#39;, array(&#39;transaction&#39; => &#39;t1&#39;));

    // rollback
    $stomp->commit(&#39;t1&#39;);

    // close conection
    unset($stomp);
    ?>
     * @param string $transactionId:事务id,自己创建,保证唯一性
     * @param array $headers
     */
    public function commit(){

    }

    /**
     * 回滚事务
     *
     *
        try {
        $stomp = new Stomp(&#39;tcp://localhost:61613&#39;);
        } catch(StompException $e) {
        die(&#39;Connection failed: &#39; . $e->getMessage());
        }

        //begin a transaction
        $stomp->begin(&#39;t1&#39;);

        //send a message to the queue
        $stomp->send(&#39;/queue/foo&#39;, &#39;bar&#39;, array(&#39;transaction&#39; => &#39;t1&#39;));

        // rollback
        $stomp->abort(&#39;t1&#39;);

        // close conection
        unset($stomp);
        ?>
     * @param string $transactionId:事务id,自己创建,保证唯一性
     * @param array $headers
     */
    public function abort(string $transactionId,array $headers=[]){

    }
}

上記はこの記事の全内容です。皆さんの学習に役立つことを願っています。お支払いください。関連コンテンツの PHP 中国語 Web サイトに注目してください。

関連する推奨事項:

Yii フレームワークの追加、削除、変更について

PHP クラスの継承とメソッドのオーバーロード

以上がactivemq stomp クラスのコードについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。