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