Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2e5e910

Browse filesBrowse files
committed
Rename exception, add change log and a few other things
1 parent e6e4cde commit 2e5e910
Copy full SHA for 2e5e910

File tree

Expand file treeCollapse file tree

8 files changed

+63
-73
lines changed
Filter options
Expand file treeCollapse file tree

8 files changed

+63
-73
lines changed

‎src/Symfony/Component/Messenger/CHANGELOG.md

Copy file name to clipboardExpand all lines: src/Symfony/Component/Messenger/CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ CHANGELOG
7979
* Added a `SetupTransportsCommand` command to setup the transports
8080
* Added a Doctrine transport. For example, use the `doctrine://default` DSN (this uses the `default` Doctrine entity manager)
8181
* [BC BREAK] The `getConnectionConfiguration` method on Amqp's `Connection` has been removed.
82+
* [BC BREAK] A `HandlerFailedException` exception will be thrown if one or more handler fails.
8283

8384
4.2.0
8485
-----

‎src/Symfony/Component/Messenger/Exception/ChainedHandlerFailedException.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Messenger/Exception/ChainedHandlerFailedException.php
-61Lines changed: 0 additions & 61 deletions
This file was deleted.
+52Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <fabien@symfony.com>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Component\Messenger\Exception;
13+
14+
use Symfony\Component\Messenger\Envelope;
15+
16+
class HandlerFailedException extends RuntimeException
17+
{
18+
private $exceptions;
19+
private $envelope;
20+
21+
/**
22+
* @param \Throwable[] $exceptions
23+
*/
24+
public function __construct(Envelope $envelope, array $exceptions)
25+
{
26+
$firstFailure = current($exceptions);
27+
28+
parent::__construct(
29+
1 === \count($exceptions)
30+
? $firstFailure->getMessage()
31+
: sprintf('%d handlers failed. First failure is: "%s"', \count($exceptions), $firstFailure->getMessage()),
32+
$firstFailure->getCode(),
33+
$firstFailure
34+
);
35+
36+
$this->envelope = $envelope;
37+
$this->exceptions = $exceptions;
38+
}
39+
40+
public function getEnvelope(): Envelope
41+
{
42+
return $this->envelope;
43+
}
44+
45+
/**
46+
* @return \Throwable[]
47+
*/
48+
public function getNestedExceptions(): array
49+
{
50+
return $this->exceptions;
51+
}
52+
}

‎src/Symfony/Component/Messenger/Middleware/HandleMessageMiddleware.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Messenger/Middleware/HandleMessageMiddleware.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
use Psr\Log\LoggerAwareTrait;
1515
use Psr\Log\NullLogger;
1616
use Symfony\Component\Messenger\Envelope;
17-
use Symfony\Component\Messenger\Exception\ChainedHandlerFailedException;
17+
use Symfony\Component\Messenger\Exception\HandlerFailedException;
1818
use Symfony\Component\Messenger\Exception\NoHandlerForMessageException;
1919
use Symfony\Component\Messenger\Handler\HandlersLocatorInterface;
2020
use Symfony\Component\Messenger\Stamp\HandledStamp;
@@ -79,7 +79,7 @@ public function handle(Envelope $envelope, StackInterface $stack): Envelope
7979
}
8080

8181
if (\count($exceptions)) {
82-
throw new ChainedHandlerFailedException($envelope, ...$exceptions);
82+
throw new HandlerFailedException($envelope, $exceptions);
8383
}
8484

8585
return $stack->next()->handle($envelope, $stack);

‎src/Symfony/Component/Messenger/Tests/Fixtures/MessageHandlerFailingFirstTimes.php renamed to ‎src/Symfony/Component/Messenger/Tests/Fixtures/DummyMessageHandlerFailingFirstTimes.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Messenger/Tests/Fixtures/DummyMessageHandlerFailingFirstTimes.php
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
namespace Symfony\Component\Messenger\Tests\Fixtures;
1313

14-
class MessageHandlerFailingFirstTimes
14+
class DummyMessageHandlerFailingFirstTimes
1515
{
1616
private $remainingFailures;
1717

‎src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
namespace Symfony\Component\Messenger\Tests\Middleware;
1313

1414
use Symfony\Component\Messenger\Envelope;
15-
use Symfony\Component\Messenger\Exception\ChainedHandlerFailedException;
15+
use Symfony\Component\Messenger\Exception\HandlerFailedException;
1616
use Symfony\Component\Messenger\Handler\HandlersLocator;
1717
use Symfony\Component\Messenger\Middleware\HandleMessageMiddleware;
1818
use Symfony\Component\Messenger\Middleware\StackMiddleware;
@@ -52,7 +52,7 @@ public function testItAddsHandledStamps(array $handlers, array $expectedStamps,
5252

5353
try {
5454
$envelope = $middleware->handle($envelope, $this->getStackMock($nextIsCalled));
55-
} catch (ChainedHandlerFailedException $e) {
55+
} catch (HandlerFailedException $e) {
5656
$envelope = $e->getEnvelope();
5757
}
5858

‎src/Symfony/Component/Messenger/Tests/RetryIntegrationTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Messenger/Tests/RetryIntegrationTest.php
+3-5Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
<?php
22

3-
declare(strict_types=1);
4-
53
/*
64
* This file is part of the Symfony package.
75
*
@@ -22,7 +20,7 @@
2220
use Symfony\Component\Messenger\Retry\MultiplierRetryStrategy;
2321
use Symfony\Component\Messenger\Stamp\SentStamp;
2422
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessage;
25-
use Symfony\Component\Messenger\Tests\Fixtures\MessageHandlerFailingFirstTimes;
23+
use Symfony\Component\Messenger\Tests\Fixtures\DummyMessageHandlerFailingFirstTimes;
2624
use Symfony\Component\Messenger\Transport\Receiver\ReceiverInterface;
2725
use Symfony\Component\Messenger\Transport\Sender\SendersLocator;
2826
use Symfony\Component\Messenger\Worker;
@@ -43,8 +41,8 @@ public function testRetryMechanism()
4341

4442
$senderLocator = new SendersLocator([], ['*' => true]);
4543

46-
$handler = new MessageHandlerFailingFirstTimes();
47-
$throwingHandler = new MessageHandlerFailingFirstTimes(1);
44+
$handler = new DummyMessageHandlerFailingFirstTimes();
45+
$throwingHandler = new DummyMessageHandlerFailingFirstTimes(1);
4846
$handlerLocator = new HandlersLocator([
4947
DummyMessage::class => [
5048
'handler' => $handler,

‎src/Symfony/Component/Messenger/Worker.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Messenger/Worker.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent;
1616
use Symfony\Component\Messenger\Event\WorkerMessageHandledEvent;
1717
use Symfony\Component\Messenger\Event\WorkerMessageReceivedEvent;
18-
use Symfony\Component\Messenger\Exception\ChainedHandlerFailedException;
18+
use Symfony\Component\Messenger\Exception\HandlerFailedException;
1919
use Symfony\Component\Messenger\Exception\LogicException;
2020
use Symfony\Component\Messenger\Exception\UnrecoverableMessageHandlingException;
2121
use Symfony\Component\Messenger\Retry\RetryStrategyInterface;
@@ -124,7 +124,7 @@ private function handleMessage(Envelope $envelope, ReceiverInterface $receiver,
124124
try {
125125
$envelope = $this->bus->dispatch($envelope->with(new ReceivedStamp()));
126126
} catch (\Throwable $throwable) {
127-
if ($throwable instanceof ChainedHandlerFailedException) {
127+
if ($throwable instanceof HandlerFailedException) {
128128
$envelope = $throwable->getEnvelope();
129129
}
130130

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.