1. Go to this page and download the library: Download losingbattle/rocketmq-http library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
losingbattle / rocketmq-http example snippets
namespace App\Rocketmq\Producer;
use Losingbattle\RocketMqHttp\Annotation\Producer;
use Losingbattle\RocketMqHttp\Message\ProducerMessage;
#[Producer(topic: "order_center_normal_topic", tag: "order_submit")]
class TestMessage extends ProducerMessage
{
public function setBizId($bizId)
{
$this->setMessageBody('bizId', $bizId);
return $this;
}
}
use Losingbattle\RocketMqHttp\Producer;
use App\Rocketmq\Producer\TestMessage;
use Hyperf\Utils\ApplicationContext;
$producer = $this->container->get(Producer::class);
$testMessage = new TestMessage();
$testMessage->setOrderSn("1")->setType(1)->setUserId(1)->setBizId(1);
$m = $producer->produce($testMessage,1);
declare(strict_types=1);
namespace App\Rocketmq\Consumer;
use Losingbattle\RocketMqHttp\Annotation\Consumer;
use Losingbattle\RocketMqHttp\Message\ConsumerMessage;
use Losingbattle\RocketMqHttp\Result;
#[Consumer(topic: "order_center_normal_topic", groupId: "GID_order_center_status_change", numOfMessages: 16, waitSeconds: 30)]
class OrderCenterConsumer extends ConsumerMessage
{
public function __construct()
{
$this->registerRoute('tag_default_share-order_C_TERMINAL_updateDraftOrderStatus', [$this, 'updateOrderStatus']);
$this->registerRoute('tag_test', [$this, 'test']);
}
public function isEnable(): bool
{
return false;
}
public function updateOrderStatus($x)
{
return Result::ACK;
}
public function test($x)
{
return Result::ACK;
}
public function consumeMessage($consumeMessageResponse)
{
//没有指定tag则默认使用consumeMessage
return Result::ACK;
}
}