List of usage examples for org.springframework.beans.factory.support DefaultListableBeanFactory getBeanDefinitionNames
@Override
public String[] getBeanDefinitionNames()
From source file:com.sharksharding.resources.register.bean.RegisterDataSource.java
/** * bean/*from w w w. ja v a 2 s. c om*/ * * @author gaoxianglong * * @param nodePathValue * zookeepervalue * * @param resourceType * * * @return void */ public static void register(String nodePathValue, String resourceType) { if (null == aContext) return; final String tmpdir = TmpManager.createTmp(); logger.debug("tmpdir-->" + tmpdir); try (BufferedWriter out = new BufferedWriter(new FileWriter(tmpdir))) { if (null != nodePathValue) { out.write(nodePathValue); out.flush(); FileSystemResource resource = new FileSystemResource(tmpdir); ConfigurableApplicationContext cfgContext = (ConfigurableApplicationContext) aContext; DefaultListableBeanFactory beanfactory = (DefaultListableBeanFactory) cfgContext.getBeanFactory(); /* * ?????ioc?,???bean, * loadBeanDefinitions() */ new XmlBeanDefinitionReader(beanfactory).loadBeanDefinitions(resource); final String defaultBeanName = "jdbcTemplate"; String[] beanNames = beanfactory.getBeanDefinitionNames(); for (String beanName : beanNames) { /* ??beanNamejdbcTemplateJdbcTemplate */ if (defaultBeanName.equals(beanName)) { GetJdbcTemplate.setJdbcTemplate((JdbcTemplate) beanfactory.getBean(defaultBeanName)); } else { /* bean */ beanfactory.getBean(beanName); } } } } catch (Exception e) { throw new RegisterBeanException(e.toString()); } finally { TmpManager.deleteTmp(tmpdir); } }
From source file:com.framework.demo.spring.SpeedUpSpringProcessor.java
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { if (!(beanFactory instanceof DefaultListableBeanFactory)) { log.error("if speed up spring, bean factory must be type of DefaultListableBeanFactory"); return;// w w w. ja va 2s . c o m } DefaultListableBeanFactory listableBeanFactory = (DefaultListableBeanFactory) beanFactory; for (String beanName : listableBeanFactory.getBeanDefinitionNames()) { BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName); //?? if (needRemove(beanName, beanDefinition)) { listableBeanFactory.removeBeanDefinition(beanName); continue; } //?lazy if (needLazyInit(beanName)) { // beanDefinition.setLazyInit(true); } } }
From source file:cn.guoyukun.spring.SpeedUpSpringProcessor.java
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { if (!(beanFactory instanceof DefaultListableBeanFactory)) { log.error("if speed up spring, bean factory must be type of DefaultListableBeanFactory"); return;/* ww w .j a v a 2 s . c om*/ } DefaultListableBeanFactory listableBeanFactory = (DefaultListableBeanFactory) beanFactory; for (String beanName : listableBeanFactory.getBeanDefinitionNames()) { BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName); //?? if (needRemove(beanName, beanDefinition)) { listableBeanFactory.removeBeanDefinition(beanName); continue; } //?lazy if (needLazyInit(beanName)) { beanDefinition.setLazyInit(true); } } }
From source file:com.longio.spring.LioBootstrap.java
private void resolveLservice(ApplicationContext app, DefaultListableBeanFactory bf) { for (String name : bf.getBeanDefinitionNames()) { AbstractBeanDefinition bd = (AbstractBeanDefinition) bf.getBeanDefinition(name); if (!bd.hasBeanClass()) { continue; }// w w w . j a v a 2 s. c om if (!name.endsWith("Service")) { continue; } Class<?> cls = bd.getBeanClass(); if (cls != LioFactoryBean.class) { continue; } Object obj = app.getBean(name); app.getAutowireCapableBeanFactory().autowireBean(obj); Lservice ls = obj.getClass().getAnnotation(Lservice.class); if (ls != null) { String pkg = ls.path(); Connector connector = getConnector(bf); for (Dispatcher d : connector.getDispatcheres(pkg)) { MethodRefFactory mrf = new DefaultMethodRefFactory(cmdLookup); d.registerMethodRefs(mrf.createMethodRefs(obj)); } logger.info("load longio [" + pkg + "] service"); } LsAutowired lsa = obj.getClass().getAnnotation(LsAutowired.class); if (lsa != null) { String pkg = lsa.path(); logger.info("load longio client [" + pkg + "] service"); } } }
From source file:com.longio.spring.LioBootstrap.java
private void boot(ConfigurableApplicationContext app) throws Exception { DefaultListableBeanFactory bf = (DefaultListableBeanFactory) app.getBeanFactory(); for (String name : bf.getBeanDefinitionNames()) { if (name.equalsIgnoreCase("longio.bootstrap")) { bootEndpoints(bf, name);/*from w ww . j av a 2s .c om*/ break; } } doScanAndRegist(bf); resolveLservice(app, bf); resolveLfilters(app, bf); }
From source file:com.longio.spring.LioBootstrap.java
private void resolveLfilters(ApplicationContext app, DefaultListableBeanFactory bf) { List<MessageFilter> filters = new ArrayList<MessageFilter>(); for (String name : bf.getBeanDefinitionNames()) { AbstractBeanDefinition bd = (AbstractBeanDefinition) bf.getBeanDefinition(name); //System.out.println("+++++++++++++++" + name); if (!bd.hasBeanClass()) { continue; }/* w ww. jav a2s . c om*/ if (!name.endsWith("Filter")) { continue; } Class<?> cls = bd.getBeanClass(); if (cls != LioFactoryBean.class) { continue; } Object obj = app.getBean(name); app.getAutowireCapableBeanFactory().autowireBean(obj); LsFilter lf = obj.getClass().getAnnotation(LsFilter.class); if (lf != null) { filters.add((MessageFilter) obj); } } Connector connector = getConnector(bf); for (Dispatcher d : connector.getDispatcheres("*")) { d.registerMessageFilters(filters); for (MessageFilter filter : filters) { logger.info("load longio [" + filter.getClass().getCanonicalName() + "] message filter"); } } }
From source file:org.codehaus.griffon.runtime.spring.GriffonRuntimeConfigurator.java
private void doPostResourceConfiguration(GriffonApplication application, RuntimeSpringConfiguration springConfig) { ClassLoader classLoader = ApplicationClassLoader.get(); String resourceName = SPRING_RESOURCES_XML; try {/*from ww w. j ava 2 s . c o m*/ Resource springResources = new ClassPathResource(resourceName); if (springResources != null && springResources.exists()) { if (LOG.isDebugEnabled()) LOG.debug( "[RuntimeConfiguration] Configuring additional beans from " + springResources.getURL()); DefaultListableBeanFactory xmlBf = new DefaultListableBeanFactory(); new XmlBeanDefinitionReader(xmlBf).loadBeanDefinitions(springResources); xmlBf.setBeanClassLoader(classLoader); String[] beanNames = xmlBf.getBeanDefinitionNames(); if (LOG.isDebugEnabled()) LOG.debug("[RuntimeConfiguration] Found [" + beanNames.length + "] beans to configure"); for (String beanName : beanNames) { BeanDefinition bd = xmlBf.getBeanDefinition(beanName); final String beanClassName = bd.getBeanClassName(); Class<?> beanClass = beanClassName == null ? null : ClassUtils.forName(beanClassName, classLoader); springConfig.addBeanDefinition(beanName, bd); String[] aliases = xmlBf.getAliases(beanName); for (String alias : aliases) { springConfig.addAlias(alias, beanName); } if (beanClass != null) { if (BeanFactoryPostProcessor.class.isAssignableFrom(beanClass)) { ((ConfigurableApplicationContext) springConfig.getUnrefreshedApplicationContext()) .addBeanFactoryPostProcessor( (BeanFactoryPostProcessor) xmlBf.getBean(beanName)); } } } } else if (LOG.isDebugEnabled()) { LOG.debug("[RuntimeConfiguration] " + resourceName + " not found. Skipping configuration."); } } catch (Exception ex) { LOG.error("[RuntimeConfiguration] Unable to perform post initialization config: " + resourceName, sanitize(ex)); } loadSpringGroovyResources(springConfig, application); }
From source file:com.laxser.blitz.web.impl.module.ModulesBuilderImpl.java
private void registerBeanDefinitions(XmlWebApplicationContext context, List<Class<?>> classes) { DefaultListableBeanFactory bf = (DefaultListableBeanFactory) context.getBeanFactory(); String[] definedClasses = new String[bf.getBeanDefinitionCount()]; String[] definitionNames = bf.getBeanDefinitionNames(); for (int i = 0; i < definedClasses.length; i++) { String name = definitionNames[i]; definedClasses[i] = bf.getBeanDefinition(name).getBeanClassName(); }/*from w w w . j ava2s. com*/ for (Class<?> clazz : classes) { // ? if (!isCandidate(clazz)) { continue; } // bean String clazzName = clazz.getName(); if (ArrayUtils.contains(definedClasses, clazzName)) { if (logger.isDebugEnabled()) { logger.debug( "Ignores bean definition because it has been exist in context: " + clazz.getName()); } continue; } // String beanName = null; if (StringUtils.isEmpty(beanName) && clazz.isAnnotationPresent(Component.class)) { beanName = clazz.getAnnotation(Component.class).value(); } if (StringUtils.isEmpty(beanName) && clazz.isAnnotationPresent(Resource.class)) { beanName = clazz.getAnnotation(Resource.class).name(); } if (StringUtils.isEmpty(beanName) && clazz.isAnnotationPresent(Service.class)) { beanName = clazz.getAnnotation(Service.class).value(); } if (StringUtils.isEmpty(beanName)) { beanName = AUTO_BEAN_NAME_PREFIX + clazz.getName(); } bf.registerBeanDefinition(beanName, new AnnotatedGenericBeanDefinition(clazz)); } }
From source file:com.liferay.arkadiko.bean.AKBeanPostProcessor.java
/** * Post process bean factory.//from w w w.j ava 2s . c om * * @param beanFactory the bean factory * @throws BeansException the beans exception */ public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { if (!(beanFactory instanceof DefaultListableBeanFactory)) { return; } DefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory) beanFactory; defaultListableBeanFactory.setInstantiationStrategy(this); AutowireCandidateResolver autowireCandidateResolver = defaultListableBeanFactory .getAutowireCandidateResolver(); defaultListableBeanFactory .setAutowireCandidateResolver(new AKAutowireCandidateResolver(autowireCandidateResolver)); for (String beanName : defaultListableBeanFactory.getBeanDefinitionNames()) { BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName); if (!(beanDefinition instanceof AbstractBeanDefinition)) { continue; } String className = beanDefinition.getBeanClassName(); if (className == null) { continue; } try { AKBeanDefinition akBeanDefinition = new AKBeanDefinition(this, (AbstractBeanDefinition) beanDefinition, beanName, getServiceRegistry()); defaultListableBeanFactory.removeBeanDefinition(beanName); defaultListableBeanFactory.registerBeanDefinition(beanName, akBeanDefinition); } catch (Exception e) { if (_log.isLoggable(Level.SEVERE)) { _log.log(Level.SEVERE, e.getMessage(), e); } } } }
From source file:co.paralleluniverse.common.spring.SpringContainerHelper.java
public static ConfigurableApplicationContext createContext(String defaultDomain, Resource xmlResource, Object properties, BeanFactoryPostProcessor beanFactoryPostProcessor) { LOG.info("JAVA: {} {}, {}", new Object[] { System.getProperty("java.runtime.name"), System.getProperty("java.runtime.version"), System.getProperty("java.vendor") }); LOG.info("OS: {} {}, {}", new Object[] { System.getProperty("os.name"), System.getProperty("os.version"), System.getProperty("os.arch") }); LOG.info("DIR: {}", System.getProperty("user.dir")); final DefaultListableBeanFactory beanFactory = createBeanFactory(); final GenericApplicationContext context = new GenericApplicationContext(beanFactory); context.registerShutdownHook();//from w w w . j av a 2 s . c o m final PropertyPlaceholderConfigurer propertyPlaceholderConfigurer = new PropertyPlaceholderConfigurer(); propertyPlaceholderConfigurer .setSystemPropertiesMode(PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_OVERRIDE); if (properties != null) { if (properties instanceof Resource) propertyPlaceholderConfigurer.setLocation((Resource) properties); else if (properties instanceof Properties) propertyPlaceholderConfigurer.setProperties((Properties) properties); else throw new IllegalArgumentException( "Properties argument - " + properties + " - is of an unhandled type"); } context.addBeanFactoryPostProcessor(propertyPlaceholderConfigurer); // MBean exporter //final MBeanExporter mbeanExporter = new AnnotationMBeanExporter(); //mbeanExporter.setServer(ManagementFactory.getPlatformMBeanServer()); //beanFactory.registerSingleton("mbeanExporter", mbeanExporter); context.registerBeanDefinition("mbeanExporter", getMBeanExporterBeanDefinition(defaultDomain)); // inject bean names into components context.addBeanFactoryPostProcessor(new BeanFactoryPostProcessor() { @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { for (String beanName : beanFactory.getBeanDefinitionNames()) { try { final BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName); if (beanDefinition.getBeanClassName() != null) { // van be null for factory methods final Class<?> beanClass = Class.forName(beanDefinition.getBeanClassName()); if (Component.class.isAssignableFrom(beanClass)) beanDefinition.getConstructorArgumentValues().addIndexedArgumentValue(0, beanName); } } catch (Exception ex) { LOG.error("Error loading bean " + beanName + " definition.", ex); throw new Error(ex); } } } }); if (beanFactoryPostProcessor != null) context.addBeanFactoryPostProcessor(beanFactoryPostProcessor); beanFactory.registerCustomEditor(org.w3c.dom.Element.class, co.paralleluniverse.common.util.DOMElementProprtyEditor.class); final Map<String, Object> beans = new HashMap<String, Object>(); beanFactory.addBeanPostProcessor(new BeanPostProcessor() { @Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { LOG.info("Loading bean {} [{}]", beanName, bean.getClass().getName()); beans.put(beanName, bean); if (bean instanceof Service) { final BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName); Collection<String> dependencies = getBeanDependencies(beanDefinition); for (String dependeeName : dependencies) { Object dependee = beanFactory.getBean(dependeeName); if (dependee instanceof Service) { ((Service) dependee).addDependedBy((Service) bean); ((Service) bean).addDependsOn((Service) dependee); } } } return bean; } @Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { LOG.info("Bean {} [{}] loaded", beanName, bean.getClass().getName()); return bean; } }); final XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader((BeanDefinitionRegistry) beanFactory); xmlReader.loadBeanDefinitions(xmlResource); // start container context.refresh(); // Call .postInit() on all Components // There's probably a better way to do this try { for (Map.Entry<String, Object> entry : beans.entrySet()) { final String beanName = entry.getKey(); final Object bean = entry.getValue(); if (bean instanceof Component) { LOG.info("Performing post-initialization on bean {} [{}]", beanName, bean.getClass().getName()); ((Component) bean).postInit(); } } } catch (Exception e) { throw Throwables.propagate(e); } return context; }