/** * Returns default entity manager * * @return EntityManager */ protected function getEntityManager() { /** @var EntityManager $em */ $em = $this->doctrine->getManager(); if (!$em->isOpen()) { $this->doctrine->resetManager(); $em = $this->doctrine->getManager(); } return $em; }
public function cleanUp() { foreach ($this->managerRegistry->getManagers() as $name => $manager) { if (!$manager instanceof EntityManager) { continue; } if (!$manager->isOpen()) { $this->logger->debug('Reset closed EntityManager', ['entity_manager' => $name]); $this->managerRegistry->resetManager($name); } } }
/** * {@inheritdoc} */ public function process(Message $message, array $options) { $result = $this->processor->process($message, $options); foreach ($this->managerRegistry->getManagers() as $managerName => $manager) { if (method_exists($manager, 'isOpen') && !$manager->isOpen()) { $this->managerRegistry->resetManager($managerName); continue; } $manager->clear(); } return $result; }