/**
  * 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;
 }