Skip to content

oro-flex/message-queue-bundle

Repository files navigation

OroMessageQueue Bundle

The bundle integrates OroMessageQueue component. It adds easy to use configuration layer, register services and tie them together, register handy cli commands.

Usage

First, you have to configure a transport layer and set one to be default.

# app/config/config.yml

oro_message_queue:
    transport:
        default: amqp
        amqp: { host: 'localhost', port: 5672, user: 'guest', password: 'guest', vhost: '/' }
    client: ~

Once you configured everything you can start producing messages:

<?php

/** @var Oro\Component\MessageQueue\Client\MessageProducer $messageProducer **/
$messageProducer = $container->get('oro_message_queue.client.message_producer');

$messageProducer->sendTo('aFooTopic', 'Something has happened');

To consume messages you have to first create a message processor:

<?php
use Oro\Component\MessageQueue\Consumption\MessageProcessor;

class FooMessageProcessor implements MessageProcessor
{
    public function process(Message $message, Session $session)
    {
        echo $message->getBody();

        return self::ACK;
    }
}

Register it as a container service and subscribe to the topic:

orocrm_channel.async.change_integration_status_processor:
    class: 'FooMessageProcessor'
    tags:
        - { name: 'oro_message_queue.client.message_processor', topicName: 'aFooTopic' }

Now you can start consuming messages:

./app/console oro:message-queue:consume  -vvv

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors