In diesem Artikel werden hauptsächlich Beispiele für die Verwendung von ActiveMQ mit PHP vorgestellt. Wir haben den Beispielcode geteilt und die relevanten Punkte erläutert. Ich hoffe, es hilft allen.
Punkt-zu-Punkt-Modell verwenden
Funktionen des Punkt-zu-Punkt-Modells:
Nur ein Verbraucher kann die Nachricht empfangen
Kann nicht wiederholt konsumiert werden
Produzent Producer.php-Code:
<?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.发送一个注册消息到队列 $stomp->send($queneName, json_encode($obj)); } } catch (StompException $e) { die('Connection failed: ' . $e->getMessage()); }
Consumer 1consumer1.php-Code:
<?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); } }
Consumer 2consumer2.php-Code:
<?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); } }
Das Ausführungsergebnisdiagramm sieht wie folgt aus:
Verwenden Sie das Publish/Subscribe-Modell (Publish Subscribe)
Funktionen des Publish/Subscribe-Modells:
Mehrere Verbraucher können Nachrichten empfangen
Kann wiederholt konsumiert werden
Produzent Producer.php-Code:
<?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.发送一个注册消息到队列 $stomp->send($queneName, json_encode($obj)); } } catch (StompException $e) { die('Connection failed: ' . $e->getMessage()); }
Consumer1consumer1.php Code:
<?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); } }
Consumer2consumer2.php Code:
?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); } }
Das Ausführungsergebnis ist wie folgt:
Verwandte Empfehlungen:
Wie PHP ActiveMQ-Beispiele zum Teilen verwendet
Java ActiveMQ-Codebeispiele Teilen
Verwandtes Verständnis der Sitzungseinstellungen in ActiveMQ
Das obige ist der detaillierte Inhalt vonWie PHP ActiveMQ verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!