@Modified protected void modified(ComponentContext context) { Dictionary<?, ?> properties = context.getProperties(); Integer poolSize = Tools.getIntegerProperty(properties, SHARED_THREAD_POOL_SIZE); if (poolSize != null && poolSize > 1) { sharedThreadPoolSize = poolSize; SharedExecutors.setPoolSize(sharedThreadPoolSize); } else if (poolSize != null) { log.warn("sharedThreadPoolSize must be greater than 1"); } Integer timeLimit = Tools.getIntegerProperty(properties, MAX_EVENT_TIME_LIMIT); if (timeLimit != null && timeLimit >= 0) { maxEventTimeLimit = timeLimit; eventDeliveryService.setDispatchTimeLimit(maxEventTimeLimit); } else if (timeLimit != null) { log.warn("maxEventTimeLimit must be greater than or equal to 0"); } Boolean performanceCheck = Tools.isPropertyEnabled(properties, CALCULATE_PERFORMANCE_CHECK); if (performanceCheck != null) { calculatePoolPerformance = performanceCheck; SharedExecutors.setMetricsService(calculatePoolPerformance ? metricsService : null); } log.info("Settings: sharedThreadPoolSize={}, maxEventTimeLimit={}, calculatePoolPerformance={}", sharedThreadPoolSize, maxEventTimeLimit, calculatePoolPerformance); } }