PHP使用ActiveMQ實例
更新時間:2018年02月05日 14:25:45 投稿:laozhang
本篇文章是一篇關于PHP使用ActiveMQ的實例,我們分享了實例代碼,并做了相關要點的解釋,需要的朋友參考下吧。
使用點對點(Point To Point)模型
點對點模型特點:
- 只有一個消費者可以接收到消息
- 不能重復消費
生產者producer.php代碼:
<?php try { // 1.建立連接 $stomp = new Stomp('tcp://47.52.119.21:61613'); // 2.實例化類 $obj = new Stdclass(); // 3.獲取數據 for($i=0; $i<3; $i++){ $obj->username = 'test'; $obj->password = '123456'; $queneName = "/queue/userReg"; // 4.發(fā)送一個注冊消息到隊列 $stomp->send($queneName, json_encode($obj)); } } catch (StompException $e) { die('Connection failed: ' . $e->getMessage()); }
消費者1consumer1.php代碼:
<?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/queue/userReg'); while (true) { //判斷是否有讀取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
消費者2consumer2.php代碼:
<?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/queue/userReg'); while (true) { //判斷是否有讀取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
執(zhí)行結果圖如下:
使用發(fā)布/訂閱(Publish Subscribe)模型
發(fā)布/訂閱模型特點:
多個消費者都可以收到消息
能重復消費
生產者producer.php代碼:
<?php try { // 1.建立連接 $stomp = new Stomp('tcp://47.52.119.21:61613'); // 2.實例化類 $obj = new Stdclass(); // 3.獲取數據 for($i = 0; $i < 3; $i++){ $obj->username = 'test'; $obj->password = '123456'; $queneName = "/topic/userReg"; // 4.發(fā)送一個注冊消息到隊列 $stomp->send($queneName, json_encode($obj)); } } catch (StompException $e) { die('Connection failed: ' . $e->getMessage()); }
消費者1consumer1.php代碼:
<?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/topic/userReg'); while (true) { //判斷是否有讀取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
消費者2consumer2.php代碼:
?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/topic/userReg'); while (true) { //判斷是否有讀取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
執(zhí)行結果圖如下:
相關文章
php中使用array_filter()函數過濾空數組的實現代碼
這篇文章主要介紹了php中使用array_filter()函數過濾空數組的實現代碼,這是瀏覽PHP手冊時無意發(fā)意的一個有意思的array_filter()函數用法,需要的朋友可以參考下2014-08-08php使用strtotime和date函數判斷日期是否有效代碼分享
php使用strtotime和date函數進行檢驗判斷日期是否有效代碼分享,大家參考使用吧2013-12-12