Example usage for org.springframework.beans.factory.config ConfigurableListableBeanFactory registerSingleton

List of usage examples for org.springframework.beans.factory.config ConfigurableListableBeanFactory registerSingleton

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config ConfigurableListableBeanFactory registerSingleton.

Prototype

void registerSingleton(String beanName, Object singletonObject);

Source Link

Document

Register the given existing object as singleton in the bean registry, under the given bean name.

Usage

From source file:org.kie.spring.factorybeans.KieImportFactoryBean.java

protected void registerKieBases(ConfigurableListableBeanFactory configurableListableBeanFactory) {
    for (String kieBaseName : kContainer.getKieBaseNames()) {
        if (scannerEnabled) {
            registerKieBeanDef((BeanDefinitionRegistry) configurableListableBeanFactory, kieBaseName);

            if (!configurableListableBeanFactory.containsSingleton(releaseIdName + "#scanner")) {
                configurableListableBeanFactory.registerSingleton(releaseIdName + "#scanner", kieScanner);
            }//  w  ww.ja  v  a 2s  . c o m
        } else {
            KieBase kieBase = kContainer.getKieBase(kieBaseName);
            configurableListableBeanFactory.registerSingleton(kieBaseName, kieBase);
        }
        registerKieSessions(kieBaseName, configurableListableBeanFactory);
    }
}

From source file:com.payu.ratel.config.beans.RatelContextApplier.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    final RegistryStrategiesProvider registryBeanProvider = registryBeanProviderFactory.create(beanFactory);
    if (registryBeanProvider == null) {
        //Ratel is disabled, stop further processing
        return;/*from www  . j  a v  a  2 s  .  co  m*/
    }

    final ServiceRegisterPostProcessor serviceRegisterPostProcessor = serviceRegisterPostProcessorFactory
            .create(beanFactory, registryBeanProvider.getRegisterStrategy());
    beanFactory.registerSingleton(serviceRegisterPostProcessor.getClass().getName(),
            serviceRegisterPostProcessor);

    RatelClientProducer ratelClientProducer = new RatelClientProducer(registryBeanProvider.getFetchStrategy(),
            registryBeanProvider.getClientProxyGenerator());
    final RemoteAutowireCandidateResolver autowireCandidateResolver = new RemoteAutowireCandidateResolver(
            ratelClientProducer);
    ((DefaultListableBeanFactory) beanFactory).setAutowireCandidateResolver(autowireCandidateResolver);

    ((DefaultListableBeanFactory) beanFactory).setAutowireCandidateResolver(autowireCandidateResolver);

}

From source file:py.una.pol.karaku.services.server.ServiceDefinitionRegister.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory bf) {

    LOG.info("Registering @WebServices");
    String[] beans = bf.getBeanDefinitionNames();
    for (String s : beans) {
        Class<?> beanType = bf.getType(s);
        WebServiceDefinition ws = AnnotationUtils.findAnnotation(beanType, WebServiceDefinition.class);
        if (ws != null) {
            String name = getName(s);
            DefaultWsdl11Definition newWS = createWebService(name, ws.xsds());

            bf.registerSingleton(name, newWS);
            LOG.info("Web service: {} has been added", name);
        }//ww  w  . j  a v a 2 s . c  om
    }

}

From source file:org.solmix.runtime.support.spring.ContainerPostProcessor.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    Object inject = container;//w  ww. j a  va 2s  . c o m
    if (inject == null) {
        inject = getContainerByName(Container.DEFAULT_CONTAINER_ID, beanFactory, true, null);
    } else {
        if (!beanFactory.containsBeanDefinition(Container.DEFAULT_CONTAINER_ID)
                && !beanFactory.containsSingleton(Container.DEFAULT_CONTAINER_ID)) {
            beanFactory.registerSingleton(Container.DEFAULT_CONTAINER_ID, container);
        }
    }
    for (String beanName : beanFactory.getBeanDefinitionNames()) {
        BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName);
        Object p = beanDefinition.getAttribute(AbstractBeanDefinitionParser.WIRE_CONTAINER_ATTRIBUTE);
        if (p == null)
            continue;
        String name = (String) beanDefinition.getAttribute(AbstractBeanDefinitionParser.WIRE_CONTAINER_NAME);
        String create = (String) beanDefinition
                .getAttribute(AbstractBeanDefinitionParser.WIRE_CONTAINER_CREATE);
        Object inj = inject;
        if (name != null) {
            if (container != null) {
                continue;
            }
            inj = getContainerByName(name, beanFactory, create != null, create);
        }
        beanDefinition.removeAttribute(AbstractBeanDefinitionParser.WIRE_CONTAINER_NAME);
        beanDefinition.removeAttribute(AbstractBeanDefinitionParser.WIRE_CONTAINER_ATTRIBUTE);
        beanDefinition.removeAttribute(AbstractBeanDefinitionParser.WIRE_CONTAINER_CREATE);
        if (create == null) {
            if (Boolean.valueOf(p.toString())) {
                beanDefinition.getPropertyValues().addPropertyValue("container", inj);
            } else {
                ConstructorArgumentValues constructorArgs = beanDefinition.getConstructorArgumentValues();
                insertConstructorArg(constructorArgs, inj);
            }
        }
    } //end loop bean.

}

From source file:com.avanza.astrix.spring.AstrixFrameworkBean.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    astrixContext = createAsterixContext(getDynamicConfig(applicationContext));
    astrixContext.getInstance(AstrixSpringContext.class).setApplicationContext(applicationContext);
    for (Class<?> consumedAstrixBean : this.consumedAstrixBeans) {
        beanFactory.registerSingleton(consumedAstrixBean.getName(), astrixContext.getBean(consumedAstrixBean));
    }/*w  w  w.ja v  a  2  s  .co  m*/
    beanFactory.registerSingleton(AstrixSpringContext.class.getName(),
            astrixContext.getInstance(AstrixSpringContext.class));
    beanFactory.registerSingleton(AstrixContext.class.getName(), astrixContext);
    beanFactory.addBeanPostProcessor(astrixContext.getInstance(AstrixBeanPostProcessor.class));
}

From source file:com.mmnaseri.dragonfly.runtime.repo.impl.CrudRepositoryContext.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    for (int i = 0; i < repositories.size(); i++) {
        Class repository = repositories.get(i);
        final Class[] typeArguments = ClassUtils.resolveTypeArguments(repository, EntityRepository.class);
        if (Object.class.equals(typeArguments[0])) {
            log.info("Discarding repository " + repository.getCanonicalName()
                    + " because it is not bound tightly enough");
            continue;
        }//  ww  w  .j a  v  a 2s.co m
        log.info("Registering repository " + repository.getSimpleName() + " for entities of type "
                + typeArguments[0].getCanonicalName());
        beanFactory.registerSingleton("_repo" + repository.getSimpleName() + i, Enhancer.create(Object.class,
                new Class[] { repository },
                new CrudRepositoryInterceptor(beanFactory, repository, typeArguments[0], typeArguments[1])));
    }
}

From source file:it.geosolutions.opensdi.operations.FileBrowserOperationController.java

/**
 * Register a manager a file manager if needed
 *//*from   www .ja va2  s.  co m*/
private void registerManager() {
    if ((Boolean.TRUE.equals(this.canManageFolders) || Boolean.TRUE.equals(this.canDownloadFiles))
            && this.applicationContext != null
            && this.applicationContext instanceof AbstractRefreshableApplicationContext) {
        String managerName = this.operationRestPath + MANAGER_SUFFIX;
        if (!this.applicationContext.containsBean(managerName)) {
            // Register manager singleton
            FolderManagerOperationController manageFolderOperation = new FolderManagerOperationController(
                    managerName, this);
            ConfigurableListableBeanFactory beanFactory = ((AbstractRefreshableApplicationContext) this.applicationContext)
                    .getBeanFactory();
            beanFactory.registerSingleton(managerName, manageFolderOperation);
        }
    }
}

From source file:com.meidusa.venus.client.VenusServiceFactory.java

public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

    // register to resolvable dependency container
    if (beanFactory instanceof ConfigurableListableBeanFactory) {
        ConfigurableListableBeanFactory cbf = (ConfigurableListableBeanFactory) beanFactory;
        for (Map.Entry<Class<?>, Tuple<Object, RemotingInvocationHandler>> entry : servicesMap.entrySet()) {
            cbf.registerResolvableDependency(entry.getKey(), entry.getValue().left);
        }//  w w w  .jav a  2 s  . c  om
        for (Map.Entry<String, Tuple<Object, RemotingInvocationHandler>> entry : serviceBeanMap.entrySet()) {
            cbf.registerSingleton(entry.getKey(), entry.getValue().left);
        }
    }
}

From source file:org.age.services.worker.internal.DefaultWorkerService.java

private void prepareContext(final @NonNull AbstractApplicationContext taskContext) {
    assert nonNull(taskContext);

    // Configure communication facilities (as singletons)
    final ConfigurableListableBeanFactory beanFactory = taskContext.getBeanFactory();
    final Map<String, CommunicationFacility> facilitiesMap = applicationContext
            .getBeansOfType(CommunicationFacility.class);
    communicationFacilities.addAll(facilitiesMap.values());
    // Add services
    log.debug("Registering facilities and adding them as listeners for messages.");
    communicationFacilities.forEach(service -> {
        service.subscribedTypes().forEach(key -> workerMessageListeners.get(key).add(service));
        log.debug("Registering {} as {} in application context.", service.getClass().getSimpleName(), service);
        beanFactory.registerSingleton(service.getClass().getSimpleName(), service);
    });/* w w w.  j  a  va2 s  . c o m*/

    // Refreshing the context
    taskContext.refresh();
    currentContext = taskContext;
}

From source file:org.activiti.spring.components.scope.ProcessScope.java

public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

    beanFactory.registerScope(ProcessScope.PROCESS_SCOPE_NAME, this);

    Assert.isInstanceOf(BeanDefinitionRegistry.class, beanFactory,
            "BeanFactory was not a BeanDefinitionRegistry, so ProcessScope cannot be used.");

    BeanDefinitionRegistry registry = (BeanDefinitionRegistry) beanFactory;

    for (String beanName : beanFactory.getBeanDefinitionNames()) {
        BeanDefinition definition = beanFactory.getBeanDefinition(beanName);
        // Replace this or any of its inner beans with scoped proxy if it has this scope
        boolean scoped = PROCESS_SCOPE_NAME.equals(definition.getScope());
        Scopifier scopifier = new Scopifier(registry, PROCESS_SCOPE_NAME, proxyTargetClass, scoped);
        scopifier.visitBeanDefinition(definition);
        if (scoped) {
            Scopifier.createScopedProxy(beanName, definition, registry, proxyTargetClass);
        }// w w  w  . j  a  v  a2 s.c  om
    }

    beanFactory.registerSingleton(ProcessScope.PROCESS_SCOPE_PROCESS_VARIABLES_SINGLETON,
            this.processVariablesMap);
    beanFactory.registerResolvableDependency(ProcessInstance.class, createSharedProcessInstance());
}