outhebox / laravel-ibmq
这是我开发的包:laravel-ibmq
0.1
2024-09-17 12:13 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^10.0||^11.0
- php-amqplib/php-amqplib: ^3.7
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
- spatie/laravel-ray: ^1.35
README
Laravel 包,用于连接 IBM MQ,支持发送和接收消息。此包支持多个队列进行入站和出站消息,并具有高级错误处理和日志记录。
功能
- 易于使用的 API,用于与 IBM MQ 交互。
- 入站和出站消息分别使用不同的队列。
- 流畅的 API 用于发送和接收消息。
- 可通过环境变量进行配置。
要求
- PHP 8.1+ 且已启用
ext-sockets
扩展 - Laravel 10 或更高版本
- IBM MQ 实例
安装
您可以通过 composer 安装此包
composer require outhebox/laravel-ibmq
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="laravel-ibmq-config"
这是已发布配置文件的内容
return [ 'host' => env('IBM_MQ_HOST', 'your-host'), 'port' => env('IBM_MQ_PORT', 1414), 'queue_manager' => env('IBM_MQ_QUEUE_MANAGER', 'your-queue-manager'), 'username' => env('IBM_MQ_USERNAME', null), 'password' => env('IBM_MQ_PASSWORD', null), 'queues' => [ 'inbound' => env('IBM_MQ_INBOUND_QUEUE', 'your-inbound-queue'), 'outbound' => env('IBM_MQ_OUTBOUND_QUEUE', 'your-outbound-queue'), ], ];
使用方法
发送消息
use Outhebox\LaravelIBMQ\Facades\LaravelIBMQ; use Outhebox\LaravelIBMQ\Exceptions\IBMQException; $ibmQueue = new LaravelIBMQ(); try { $ibmQueue->sendMessage('Hello, IBM MQ!'); echo "Message sent successfully!"; } catch (IBMQException $e) { echo "Failed to send message: " . $e->getMessage(); }
监听消息
use Outhebox\LaravelIBMQ\Facades\LaravelIBMQ; use Outhebox\LaravelIBMQ\Exceptions\IBMQException; $ibmQueue = new LaravelIBMQ(); try { $ibmQueue->listenToMessages(function ($messageBody) { echo "Received message: " . $messageBody; }); } catch (IBMQException $e) { echo "Failed to receive messages: " . $e->getMessage(); }
关闭连接
连接在对象被销毁或应用程序结束时自动关闭。但是,如果需要,您可以显式关闭连接
use Outhebox\LaravelIBMQ\Facades\LaravelIBMQ; $ibmQueue = new LaravelIBMQ(); $ibmQueue->close();
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近的变化。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请查看 我们的安全策略 了解如何报告安全漏洞。
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。