Added PublishEvent listener connection and queue configuration feature

This commit is contained in:
2025-12-31 16:39:48 +04:00
parent 7ae585ae29
commit 181d3de9f7
11 changed files with 347 additions and 319 deletions

View File

@@ -4,12 +4,13 @@ declare(strict_types=1);
namespace Diffhead\PHP\LaravelRabbitMQ\Service;
use Diffhead\PHP\LaravelRabbitMQ\Object\Configuration as ConfigurationObject;
use Diffhead\PHP\LaravelRabbitMQ\Object\Connection;
use Diffhead\PHP\LaravelRabbitMQ\Object\Publishing;
use RuntimeException;
class Configuration
{
public function get(string $connection = 'default'): ConfigurationObject
public function getConnection(string $connection = 'default'): Connection
{
$config = config(sprintf('rabbitmq.connections.%s', $connection));
@@ -19,7 +20,7 @@ class Configuration
);
}
return new ConfigurationObject(
return new Connection(
$config['host'],
(int) $config['port'],
$config['user'],
@@ -27,4 +28,12 @@ class Configuration
$config['vhost'],
);
}
public function getPublishing(): Publishing
{
return new Publishing(
config('rabbitmq.event.publishing.connection', 'sync'),
config('rabbitmq.event.publishing.queue', 'default'),
);
}
}