Author: Tim Wagner (tw@appserver.io)
Author: Markus Stockbauer (ms@techdivision.com)
Author: Bernhard Wick (bw@appserver.io)
Inheritance: extends AppserverIo\Appserver\Core\AbstractManager, implements AppserverIo\Psr\Pms\QueueContextInterface
 /**
  * The main method that creates new instances in a separate context.
  *
  * @param \AppserverIo\Psr\Application\ApplicationInterface         $application          The application instance to register the class loader with
  * @param \AppserverIo\Appserver\Core\Api\Node\ManagerNodeInterface $managerConfiguration The manager configuration
  *
  * @return void
  */
 public static function visit(ApplicationInterface $application, ManagerNodeInterface $managerConfiguration)
 {
     // initialize the stackable containers
     $queues = new GenericStackable();
     $workers = new GenericStackable();
     $messages = new GenericStackable();
     // initialize the queue locator
     $queueLocator = new QueueLocator();
     // initialize the queue manager
     $queueManager = new QueueManager();
     $queueManager->injectQueues($queues);
     $queueManager->injectWorkers($workers);
     $queueManager->injectMessages($messages);
     $queueManager->injectApplication($application);
     $queueManager->injectResourceLocator($queueLocator);
     // attach the instance
     $application->addManager($queueManager, $managerConfiguration);
 }
 /**
  * The main method that creates new instances in a separate context.
  *
  * @param \AppserverIo\Psr\Application\ApplicationInterface         $application          The application instance to register the class loader with
  * @param \AppserverIo\Appserver\Core\Api\Node\ManagerNodeInterface $managerConfiguration The manager configuration
  *
  * @return void
  */
 public static function visit(ApplicationInterface $application, ManagerNodeInterface $managerConfiguration)
 {
     // initialize the stackable containers
     $queues = new GenericStackable();
     $workers = new GenericStackable();
     $messages = new GenericStackable();
     // initialize the queue locator
     $queueLocator = new QueueLocator();
     // initialize the default settings for message queue
     $queueManagerSettings = new QueueManagerSettings();
     $queueManagerSettings->mergeWithParams($managerConfiguration->getParamsAsArray());
     // initialize the queue manager
     $queueManager = new QueueManager();
     $queueManager->injectQueues($queues);
     $queueManager->injectWorkers($workers);
     $queueManager->injectMessages($messages);
     $queueManager->injectApplication($application);
     $queueManager->injectResourceLocator($queueLocator);
     $queueManager->injectManagerSettings($queueManagerSettings);
     // attach the instance
     $application->addManager($queueManager, $managerConfiguration);
 }