Skip to content

Commit 7bcaf8b

Browse files
authored
feat(Messenger): message reject
1 parent 94f4929 commit 7bcaf8b

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

components/messenger.rst

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ do is to write your own CSV receiver::
268268

269269
use App\Message\NewOrder;
270270
use Symfony\Component\Messenger\Envelope;
271+
use Symfony\Component\Messenger\Exception\MessageDecodingFailedException;
271272
use Symfony\Component\Messenger\Transport\Receiver\ReceiverInterface;
272273
use Symfony\Component\Serializer\SerializerInterface;
273274

@@ -291,7 +292,15 @@ do is to write your own CSV receiver::
291292
return [];
292293
}
293294
294-
// Reject the message if needed
295+
try {
296+
$envelope = $this->serializer->decode([
297+
'body' => $yourEnvelope['body'],
298+
'headers' => $yourEnvelope['headers'],
299+
]);
300+
} catch (MessageDecodingFailedException $exception) {
301+
$this->connection->reject($yourEnvelope['id']);
302+
throw $exception;
303+
}
295304
296305
return [$yourEnvelope->with(new CustomStamp($yourEnvelope['id']);
297306
}
@@ -303,7 +312,8 @@ do is to write your own CSV receiver::
303312

304313
public function reject(Envelope $envelope): void
305314
{
306-
// Reject the message if needed
315+
// In the case of a custom connection
316+
$this->connection->reject($this->findCustomStamp($envelope)->getId());
307317
}
308318
}
309319

0 commit comments

Comments
 (0)