> 백엔드 개발 > PHP 튜토리얼 > activemq 스톰프 클래스 코드 정보

activemq 스톰프 클래스 코드 정보

不言
풀어 주다: 2023-04-02 10:40:01
원래의
1675명이 탐색했습니다.

이 글에서는 주로 참조 가치가 있는 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:头,如[&#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 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

Yii 프레임워크의 추가, 삭제 및 수정에 대하여

PHP 클래스의 상속 및 메소드 오버로딩

위 내용은 activemq 스톰프 클래스 코드 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿