/** * @param string $serializedMessage * @return Message */ public function unserialize($serializedMessage) { if (is_string($serializedMessage) === FALSE) { throw new \InvalidArgumentException('The JsonSerializer can only unserialize strings.', 1427369767); } return $this->arraySerializer->unserialize(json_decode($serializedMessage, TRUE)); }
/** * @param Message $message * @return void */ public function queue(Message $message) { /** @var EventHandlerInterface $handler */ $handler = $this->objectManager->get($message->getRecipient()); $event = $this->arraySerializer->unserialize($message->getPayload()); $handler->handle($event); }
/** * @param Event $event * @param string $eventType * @return DomainEvent * @throws IncompatibleModelException */ public function fromEvent(Event $event, $eventType) { $data = $event->getData(); return $this->arraySerializer->unserialize(['messageType' => $eventType, 'payload' => $data]); }