public Map<BeanSetting<?>, Object> getDefaultBeanSettings() { Map<BeanSetting<?>, Object> defaultSettings = new HashMap<>(); if (getBeanType().isAnnotationPresent(DefaultBeanSettings.class)) { // Default settings defined on service api DefaultBeanSettings defaultBeanSettingsOnApi = getBeanType().getAnnotation(DefaultBeanSettings.class); defaultSettings.put(AstrixBeanSettings.TIMEOUT, defaultBeanSettingsOnApi.initialTimeout()); defaultSettings.put(AstrixBeanSettings.FAULT_TOLERANCE_ENABLED, defaultBeanSettingsOnApi.faultToleranceEnabled()); defaultSettings.put(AstrixBeanSettings.BEAN_METRICS_ENABLED, defaultBeanSettingsOnApi.beanMetricsEnabled()); defaultSettings.put(AstrixBeanSettings.MAX_CONCURRENT_REQUESTS, defaultBeanSettingsOnApi.initialMaxConcurrentRequests()); defaultSettings.put(AstrixBeanSettings.CORE_SIZE, defaultBeanSettingsOnApi.initialCoreSize()); defaultSettings.put(AstrixBeanSettings.QUEUE_SIZE_REJECTION_THRESHOLD, defaultBeanSettingsOnApi.initialQueueSizeRejectionThreshold()); } if (this.method.isAnnotationPresent(DefaultBeanSettings.class)) { // Default settings defined on service definition DefaultBeanSettings defaultBeanSettingsInDefinition = this.method.getAnnotation(DefaultBeanSettings.class); defaultSettings.put(AstrixBeanSettings.TIMEOUT, defaultBeanSettingsInDefinition.initialTimeout()); defaultSettings.put(AstrixBeanSettings.FAULT_TOLERANCE_ENABLED, defaultBeanSettingsInDefinition.faultToleranceEnabled()); defaultSettings.put(AstrixBeanSettings.BEAN_METRICS_ENABLED, defaultBeanSettingsInDefinition.beanMetricsEnabled()); defaultSettings.put(AstrixBeanSettings.MAX_CONCURRENT_REQUESTS, defaultBeanSettingsInDefinition.initialMaxConcurrentRequests()); defaultSettings.put(AstrixBeanSettings.CORE_SIZE, defaultBeanSettingsInDefinition.initialCoreSize()); defaultSettings.put(AstrixBeanSettings.QUEUE_SIZE_REJECTION_THRESHOLD, defaultBeanSettingsInDefinition.initialQueueSizeRejectionThreshold()); } return defaultSettings; }