>  기사  >  백엔드 개발  >  PHP와 ActiveMQ 인스턴스 공유를 사용하는 방법

PHP와 ActiveMQ 인스턴스 공유를 사용하는 방법

小云云
小云云원래의
2018-02-05 16:34:552611검색

지점 간 모델의 특징: 한 명의 소비자만 메시지를 받을 수 있으며 반복적으로 소비할 수 없습니다. 이 기사는 주로 PHP에서 ActiveMQ를 사용하는 방법을 공유합니다. 도움이 되기를 바랍니다.

Producer producer.php 코드:

<?
phptry {  
  // 1.建立连接    $stomp = new Stomp(&#39;tcp://47.52.119.21:61613&#39;);    
// 2.实例化类    $obj = new Stdclass();    
// 3.获取数据    for($i=0; $i<3; $i++)
{        $obj->username = &#39;test&#39;;        
$obj->password = &#39;123456&#39;;        
$queneName     = "/queue/userReg";        
// 4.发送一个注册消息到队列       
 $stomp->send($queneName, json_encode($obj));   
 }} catch (StompException $e) 
{    die(&#39;Connection failed: &#39; 
. $e->getMessage());
}

Consumer1consumer1.php 코드:

<?
php$stomp = new Stomp(&#39;tcp://localhost:61613&#39;);
$stomp->subscribe(&#39;/queue/userReg&#39;);while (true) 
{    //判断是否有读取的信息    if ($stomp->hasFrame()) 
{        $frame = $stomp->readFrame();        
$data  = json_decode($frame->body, true);       
var_dump($data);       
 $stomp->ack($frame);   
 }}

Consumer2consumer2.php 코드:

<?php
$stomp = new Stomp(&#39;tcp://localhost:61613&#39;);$stomp->subscribe(&#39;/queue/userReg&#39;);while (true) 
{    //判断是否有读取的信息    if ($stomp->hasFrame())
{        $frame = $stomp->readFrame();       
$data  = json_decode($frame->body, true);      
  var_dump($data);        $stomp->ack($frame);  
  }}

실행 결과는 다음과 같습니다.

PHP와 ActiveMQ 인스턴스 공유를 사용하는 방법

Publish/Subscribe(Publish Subscribe) 모델 사용

게시/구독 모델의 특징:

여러 소비자가 메시지를 받을 수 있습니다.

반복적으로 소비될 수 있습니다.

Producer producer.php 코드:

{    // 1.建立连接    
$stomp = new Stomp(&#39;tcp://47.52.119.21:61613&#39;);  
 // 2.实例化类    $obj = new Stdclass();   
 // 3.获取数据    for($i = 0; $i < 3; $i++)
{        $obj->username = &#39;test&#39;;      
  $obj->password = &#39;123456&#39;;        
$queneName     = "/topic/userReg";      
  // 4.发送一个注册消息到队列     
   $stomp->send($queneName, json_encode($obj));   
 }} 
catch (StompException $e)
 {    die(&#39;Connection failed: &#39; . $e->getMessage());
}

Consumer1consumer1.php 코드:

<?php$stomp = new Stomp(&#39;tcp://localhost:61613&#39;);$stomp->subscribe(&#39;/topic/userReg&#39;);
while (true) {    //判断是否有读取的信息    if ($stomp->hasFrame())
 {        $frame = $stomp->readFrame();       
 $data  = json_decode($frame->body, true);    
    var_dump($data);        $stomp->ack($frame);  
  }}

Consumer2consumer2.php 코드 :

<?php$stomp = new Stomp(&#39;tcp://localhost:61613&#39;);$stomp->subscribe(&#39;/topic/userReg&#39;);
while (true) {    //判断是否有读取的信息    if ($stomp->hasFrame()) 
{        $frame = $stomp->readFrame();    
    $data  = json_decode($frame->body, true);       
 var_dump($data);      
  $stomp->ack($frame);   
 }}

실행 결과 사진은 다음과 같습니다.

PHP와 ActiveMQ 인스턴스 공유를 사용하는 방법

관련 권장 사항:

ActiveMQ의 세션 설정 관련 이해

php-activemq ajax 호출 구성 문제

위 내용은 PHP와 ActiveMQ 인스턴스 공유를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.