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

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

Introduction

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

Prototype

<T> Map<String, T> getBeansOfType(@Nullable Class<T> type) throws BeansException;

Source Link

Document

Return the bean instances that match the given object type (including subclasses), judging from either bean definitions or the value of getObjectType in the case of FactoryBeans.

Usage

From source file:com.asual.summer.core.util.BeanUtils.java

public static <T> T getBeanOfType(ConfigurableListableBeanFactory beanFactory, Class<T> clazz) {
    Map<String, T> beans = beanFactory.getBeansOfType(clazz);
    ArrayList<T> values = new ArrayList<T>(beans.values());
    if (values.size() != 0) {
        OrderComparator.sort(values);//w  w  w  . ja  v  a2 s .  c  o m
        return values.get(0);
    }
    return null;
}

From source file:com.bt.aloha.util.HousekeepingTimerTask.java

@SuppressWarnings("unchecked")
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
    this.beansToBeHouseKept = (Map<String, Housekeeper>) beanFactory.getBeansOfType(Housekeeper.class);
}

From source file:net.javacrumbs.springws.test.util.MockMessageSenderInjector.java

@SuppressWarnings("unchecked")
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    Collection<WebServiceTemplate> templates = beanFactory.getBeansOfType(WebServiceTemplate.class).values();
    if (templates.size() == 0) {
        throw new BeanCreationException("No WebServiceTemplate found in the servlet context.");
    }//from  w w  w. j  a va 2  s . c  o m

    Collection<AbstractMockWebServiceMessageSender> mockSenders = beanFactory
            .getBeansOfType(AbstractMockWebServiceMessageSender.class).values();
    WebServiceMessageSender[] mockSenderArray = mockSenders
            .toArray(new WebServiceMessageSender[mockSenders.size()]);
    for (WebServiceTemplate template : templates) {
        template.setMessageSenders(mockSenderArray);
    }
}

From source file:com.epam.ta.reportportal.auth.PermissionsRegisterBean.java

@SuppressWarnings("unchecked")
@Override// w  w w .  ja va2 s .c  o m
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

    Map<String, Permission> permissionBeans = beanFactory.getBeansOfType(Permission.class);
    Map<String, Permission> permissionsMap = beanFactory.getBean("permissionsMap", Map.class);
    for (Entry<String, Permission> permission : permissionBeans.entrySet()) {
        /*
         * There will be no NPE since we asked bean factory to get beans
         * with this annotation
         */
        for (String permissionName : permission.getValue().getClass().getAnnotation(LookupPermission.class)
                .value()) {
            /*
             * TODO add check for type before doing this
             */
            Permission permissionBean = permission.getValue();
            beanFactory.autowireBeanProperties(permissionBean, AutowireCapableBeanFactory.AUTOWIRE_NO, true);
            permissionsMap.put(permissionName, permissionBean);
        }
    }
}

From source file:me.j360.trace.example.consumer2.RegisterZipkinHealthIndicators.java

@Override
public void onApplicationEvent(ApplicationEvent event) {
    if (!(event instanceof ApplicationReadyEvent))
        return;/*from   www  .  j av a2 s .co m*/
    ConfigurableListableBeanFactory beanFactory = ((ApplicationReadyEvent) event).getApplicationContext()
            .getBeanFactory();
    ZipkinHealthIndicator healthIndicator = beanFactory.getBean(ZipkinHealthIndicator.class);
    for (Component component : beanFactory.getBeansOfType(Component.class).values()) {
        healthIndicator.addComponent(component);
    }
}

From source file:com.baidu.cc.annotation.ConfigChangeNotiferAnnotationParser.java

/**
 * add {@link ConfigItemChangedCallable} call back entry to {@link ConfigCenterPropertyPlaceholderConfigurer}
 * //from ww w. j  av  a 2 s .c om
 * @param beanFactory spring bean factory
 */
private void addToPropertyPlaceholderConfigurer(ConfigurableListableBeanFactory beanFactory) {
    //if already added then ignore
    if (added) {
        return;
    }

    //add to ConfigCenterPropertyPlaceholderConfigurer
    Map beansMap = beanFactory.getBeansOfType(ConfigChangeManager.class);
    if (beansMap != null) {
        Collection<?> beans = beansMap.values();
        ConfigChangeManager parser;
        for (Object object : beans) {
            parser = (ConfigChangeManager) object;
            //configloader property will not be null
            parser.addConfigItemChangeCallable(beanName, batchCallbable);
        }
    }
    added = true;
}

From source file:it.doqui.index.ecmengine.business.personalization.multirepository.index.lucene.fts.RepositoryAwareFullTextSearchIndexerImpl.java

/**
 * @param beanFactory//from   ww w .  j  av a2  s. c  o  m
 * @throws InterruptedException
 */
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    // Find bean implementing RepositoryAwareSupportsBackgroundIndexing and register
    for (Object bgindexable : beanFactory.getBeansOfType(RepositoryAwareSupportsBackgroundIndexing.class)
            .values()) {
        if (bgindexable instanceof RepositoryAwareSupportsBackgroundIndexing) {
            ((RepositoryAwareSupportsBackgroundIndexing) bgindexable).setFullTextSearchIndexer(this);
        }
    }
}

From source file:org.openlegacy.support.AbstractAnnotationProccesor.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    Collection<ClassAnnotationsLoader> classAnnotationsLoaders = beanFactory
            .getBeansOfType(ClassAnnotationsLoader.class).values();
    Collection<FieldAnnotationsLoader> fieldAnnotationLoaders = beanFactory
            .getBeansOfType(FieldAnnotationsLoader.class).values();
    Collection<FieldLoader> fieldLoaders = beanFactory.getBeansOfType(FieldLoader.class).values();

    EntitiesRegistry<?, ?, ?> entitiesRegistry = getEntitiesRegistry(beanFactory);

    filterByPackage(classAnnotationsLoaders);
    filterByPackage(fieldAnnotationLoaders);
    filterByPackage(fieldLoaders);/* ww  w  . ja va  2s.c  o m*/

    DefaultRegistryLoader registryLoader = (DefaultRegistryLoader) beanFactory.getBean(RegistryLoader.class);

    registryLoader.setAnnotationLoaders(classAnnotationsLoaders);
    registryLoader.setFieldAnnotationLoaders(fieldAnnotationLoaders);
    registryLoader.setFieldLoaders(fieldLoaders);
    registryLoader.setBeanFactory(beanFactory);

    registryLoader.load(entitiesRegistry);
}