這篇文章主要介紹了關於activemq stomp類代碼,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
此庫用來增強ide,能對stomp類進行自動提示
<?phpclass 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=[]){ }}
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!