{
throw new DeploymentException(domainName + " AOP domain not configured - cannot deploy EJB named "
+ beanMetaData.getEjbName() + " in unit " + unit);
}
Hashtable<String, String> ctxProperties = new Hashtable<String, String>();
AOPBasedSingletonContainer singletonContainer;
try
{
singletonContainer = new AOPBasedSingletonContainer(classLoader, singletonBean.getEjbClass(), singletonBean
.getEjbName(), (Domain) singletonContainerAOPDomain.getManager(), ctxProperties, singletonBean, unit, asyncExecutorService);
}
catch (ClassNotFoundException cnfe)
{
throw new DeploymentException(cnfe);
}
// EJBTHREE-2106 https://jira.jboss.org/browse/EJBTHREE-2106
// One more of those mysterious security integration params.
// We set the JaccContextId to the simple name of the Deployment unit (don't ask why)
// It's "copied" from the current implementation in Ejb3AnnotationHandler.getJaccContextId()
singletonContainer.setJaccContextId(unit.getSimpleName());
singletonContainer.setEjbReferenceResolver(this.ejbReferenceResolver);
singletonContainer.setMessageDestinationResolver(this.messageDestinationResolver);
singletonContainer.setPersistenceUnitResolver(this.puResolver);
singletonContainer.instantiated();
// TODO: This will go once fully integrated with SwitchBoard
singletonContainer.processMetadata();
// attach the container to the deployment unit, with appropriate MC dependencies
this.attachContainerBMD(unit, singletonContainer.getObjectName().getCanonicalName(), singletonContainer);
//
if (singletonBean.isInitOnStartup())
{
StartupSingletonInitiator startupSingletonInitiator = new StartupSingletonInitiator(singletonContainer);