String subsystemXml = FileUtils.readFile(SUBSYSTEM_WITH_JOB_EXECUTOR_AND_PROPERTIES);
KernelServices services = createKernelServicesBuilder(null)
.setSubsystemXml(subsystemXml)
.build();
ServiceContainer container = services.getContainer();
assertNotNull("platform service should be installed", container.getService(PLATFORM_SERVICE_NAME));
assertNotNull("process engine service should be bound in JNDI", container.getService(processEngineServiceBindingServiceName));
assertNotNull("platform jobexecutor service should be installed", container.getService(PLATFORM_JOBEXECUTOR_SERVICE_NAME));
// "default" job acquisition ///////////////////////////////////////////////////////////
ServiceController<?> defaultJobAcquisitionService = container.getService(ServiceNames.forMscRuntimeContainerJobExecutorService("default"));
assertNotNull("platform job acquisition service 'default' should be installed", defaultJobAcquisitionService);
Object value = defaultJobAcquisitionService.getValue();
assertNotNull(value);
assertTrue(value instanceof JobExecutor);
JobExecutor defaultJobExecutor = (JobExecutor) value;
assertEquals(300000, defaultJobExecutor.getLockTimeInMillis());
assertEquals(5000, defaultJobExecutor.getWaitTimeInMillis());
assertEquals(3, defaultJobExecutor.getMaxJobsPerAcquisition());
// "anders" job acquisition /////////////////////////////////////////////////////////
ServiceController<?> andersJobAcquisitionService = container.getService(ServiceNames.forMscRuntimeContainerJobExecutorService("anders"));
assertNotNull("platform job acquisition service 'anders' should be installed", andersJobAcquisitionService);
value = andersJobAcquisitionService.getValue();
assertNotNull(value);
assertTrue(value instanceof JobExecutor);
JobExecutor andersJobExecutor = (JobExecutor) value;
assertEquals(600000, andersJobExecutor.getLockTimeInMillis());
assertEquals(10000, andersJobExecutor.getWaitTimeInMillis());
assertEquals(5, andersJobExecutor.getMaxJobsPerAcquisition());
// "mixed" job acquisition /////////////////////////////////////////////////////////
ServiceController<?> mixedJobAcquisitionService = container.getService(ServiceNames.forMscRuntimeContainerJobExecutorService("mixed"));
assertNotNull("platform job acquisition service 'mixed' should be installed", mixedJobAcquisitionService);
value = mixedJobAcquisitionService.getValue();
assertNotNull(value);
assertTrue(value instanceof JobExecutor);