private void createHealthIndicatorForLimiter(ConfigurableBeanFactory beanFactory, String name, RateLimiter rateLimiter) { beanFactory.registerSingleton( name + "RateLimiterHealthIndicator", new RateLimiterHealthIndicator(rateLimiter) ); }
private void createHeathIndicatorForCircuitBreaker(String name) { CircuitBreaker circuitBreaker = circuitBreakerRegistry.circuitBreaker(name); CircuitBreakerHealthIndicator healthIndicator = new CircuitBreakerHealthIndicator(circuitBreaker); beanFactory.registerSingleton( name + "CircuitBreakerHealthIndicator", healthIndicator ); }
private void createHealthIndicatorForLimiter(String name) { RateLimiter rateLimiter = rateLimiterRegistry.rateLimiter(name); beanFactory.registerSingleton( name + "RateLimiterHealthIndicator", new RateLimiterHealthIndicator(rateLimiter) ); } }
factory.registerSingleton("default.context", applicationContext);
@PostConstruct public void configureRegistryWithHealthEndpoint(){ circuitBreakerProperties.getBackends().forEach( (name, properties) -> { if (properties.getRegisterHealthIndicator()) { CircuitBreaker circuitBreaker = circuitBreakerRegistry.circuitBreaker(name); CircuitBreakerHealthIndicator healthIndicator = new CircuitBreakerHealthIndicator(circuitBreaker); beanFactory.registerSingleton( name + "CircuitBreakerHealthIndicator", healthIndicator ); } } ); }
factory.registerSingleton(name, context);
@Override public void beforeTestClass(TestContext testContext) throws Exception { ConfigurableBeanFactory beanFactory = (ConfigurableBeanFactory) testContext .getApplicationContext().getAutowireCapableBeanFactory(); if (!beanFactory.containsBean("mockMvcClientHttpRequestFactory")) { this.factory = new MockMvcClientHttpRequestFactory( beanFactory.getBean(MockMvc.class)); beanFactory.registerSingleton("mockMvcClientHttpRequestFactory", this.factory); } else { this.factory = beanFactory.getBean("mockMvcClientHttpRequestFactory", MockMvcClientHttpRequestFactory.class); } }
docket.ignoredParameterTypes(ignoredParameterTypes); configurableBeanFactory.registerSingleton("defaultDocket", docket); docketList.add(docket); return docketList; docket.ignoredParameterTypes(ignoredParameterTypes); configurableBeanFactory.registerSingleton(groupName, docket); docketList.add(docket);
@Override public boolean bind(String name, Object obj) { factory.registerSingleton(name, obj); return true; }
@Configuration public class ApplicationConfiguration { @Autowired private ConfigurableBeanFactory beanFactory; @PostConstruct public void registerServices() { beanFactory.registerSingleton("service...", new NNNService()); ... } }
@Override public boolean bind(String name, Object obj) { factory.registerSingleton(name, obj); return true; }
@Service public class MyPortRegistrar { @Autowired private ConfigurableBeanFactory beanFactory; @Autowired private SpringBus bus; @PostConstruct public void createPort() { Port port = new WebservicePort(bus); beanFactory.registerSingleton("myDynamicPortName", port); } }
//maybe spring is capable of injecting all ems here? @Autowired private List<EntityManager> ems; @Autowired private ApplicationContext ctx; @Autowired private ConfigurableBeanFactory bf; int n = 10; for (int i = 0; i < n; i++) { //you'd probably need a way to identify which "em" maps to which number CrudRepository dao = new YourBeanRepository(YourBean.class, emN); bf.registerSingleton("YourBean" + n, dao); } ctx.getBean("YourBean1");
private void registerBean(ConfigurableBeanFactory factory, String name, CamelCloudConfigurationProperties.ServiceFilterConfiguration configuration) { factory.registerSingleton( name, createServiceFilter(configuration) ); }
private void registerBean(ConfigurableBeanFactory factory, String name, CamelCloudConfigurationProperties.ServiceDiscoveryConfiguration configuration) { factory.registerSingleton( name, createStaticServiceDiscovery(configuration) ); }
private void registerAbstractServiceFactoryBean(Class<?> serviceType, String newBeanName, AbstractServiceLoaderBasedFactoryBean serviceFactoryBean) { serviceFactoryBean.setServiceType(serviceType); try { serviceFactoryBean.afterPropertiesSet(); } catch (Exception e) { throw new BeanCreationException(newBeanName, e.getMessage(), e); } this.beanFactory.registerSingleton(newBeanName, serviceFactoryBean); }
Map<String, String> propertyMap = ...; Properties properties = new Properties(); properties.putAll(propertyMap); AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ConfigurableBeanFactory beanFactory = ctx.getBeanFactory(); PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer(); propertySourcesPlaceholderConfigurer.setProperties(properties); beanFactory.registerSingleton(PropertySourcesPlaceholderConfigurer.class.getSimpleName(), propertySourcesPlaceholderConfigurer);
QueryService registerQueryServiceBean(String beanName, QueryService queryService) { if (isDefine()) { ((ConfigurableBeanFactory) getBeanFactory()).registerSingleton(beanName, queryService); } return queryService; }
QueryService registerQueryServiceBean(String beanName, QueryService queryService) { if (isDefine()) { ((ConfigurableBeanFactory) getBeanFactory()).registerSingleton(beanName, queryService); } return queryService; }
protected void addNewUrlHealthIndicator(String beanName, ConfigurableBeanFactory configurableBeanFactory, UrlHealthIndicator.ExternalLink link) throws MalformedURLException { UrlHealthIndicator indicator = new UrlHealthIndicator(); indicator.setExternalLink(link); RestTemplate restTemplate = new RestTemplate(); ((SimpleClientHttpRequestFactory)restTemplate.getRequestFactory()).setConnectTimeout(link.getTimeout()); ((SimpleClientHttpRequestFactory)restTemplate.getRequestFactory()).setReadTimeout(link.getTimeout()); indicator.setRestTemplate(restTemplate); configurableBeanFactory.registerSingleton(beanName, indicator); }