if (log.isDebugEnabled())
log.debug("Starting SubjectFactoryService");
final ISecurityManagement injectedSecurityManagement = securityManagementValue.getValue();
int i = subjectFactoryClassName.lastIndexOf(":");
if (i == -1)
throw new StartException("Missing module name for the subject-factory-class-name attribute");
String moduleSpec = subjectFactoryClassName.substring(0, i);
String className = subjectFactoryClassName.substring(i + 1);
JBossSecuritySubjectFactory subjectFactory = null;
try {
Class<?> subjectFactoryClazz = SecurityActions.getModuleClassLoader(moduleSpec).loadClass(className);
subjectFactory = (JBossSecuritySubjectFactory) subjectFactoryClazz.newInstance();
} catch (Exception e) {
throw new StartException(e);
}
subjectFactory.setSecurityManagement(injectedSecurityManagement);
this.subjectFactory = subjectFactory;
}