定制 overblog/activemq-bundle 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

overblog/activemq-bundle

最新稳定版本:2.1.0

Composer 安装命令:

composer require overblog/activemq-bundle

包简介

OverBlog ActiveMQ Bundle

README 文档

README

ActiveMQ Bundle for the Symfony.

Installation

composer req overblog/activemq-bundle

Usage

Define publishers and consumers:

overblog_active_mq:
    connections:
        default:
            user: '%env(MQ_USER)%'
            password: '%env(MQ_PASSWORD)%'
            servers: '%mq_servers%'

    publishers:
        foo:
            connection: default
            options:
                type: queue
                name: foo.notification
        bar:
            connection: default
            options:
                type: queue
                name: bar.notification
    consumers:
        foo:
            connection: default
            handler: App\Consumer\FooConsumer
            options:
                type: queue
                name: foo.notification # queue name
                prefetchSize: 10
        bar:
            connection: default
            handler: App\Consumer\BarConsumer
            options:
                type: queue
                name: bar.notification
                prefetchSize: 10

services:
    App\Consumer\BarConsumer: ~
    App\Consumer\FooConsumer: ~

An example of how to publish a message: you can access publisher using service id overblog_active_mq.{PUBLISHER_NAME} for example overblog_active_mq.foo or overblog_active_mq.bar for above configuration. Services is not public so create a public alias or inject it.

<?php

namespace App\Controller;

use Overblog\ActiveMqBundle\ActiveMq\Publisher;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

class BazController
{
    public function webhookCallbackAction(Request $request, Publisher $publisher)
    {
        $content = trim($request->getContent());
        $publisher->publish($content);

        return new Response('Successful notification', 200);
    }
}

An example of a consumer:

<?php

namespace App\Consumer;

use Overblog\ActiveMqBundle\ActiveMq\ConsumerInterface;
use Overblog\ActiveMqBundle\ActiveMq\Message;

class FooConsumer extends Consumer
{
    /**
     * {@inheritdoc}
     */
    public function execute(Message $message)
    {
        // here you treat your message. Return false to noack the message.
    }
}

统计信息

  • 总下载量: 42.07k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 10
  • Watchers: 18
  • Forks: 6
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2012-10-29