List of usage examples for org.springframework.beans.factory BeanCreationException BeanCreationException
public BeanCreationException(@Nullable String resourceDescription, @Nullable String beanName, String msg)
From source file:com.liferay.portal.spring.extender.internal.bean.ServiceReferenceAnnotationBeanPostProcessor.java
protected void autoInject(Object targetBean, Class<?> beanClass) { if ((beanClass == null) || beanClass.isInterface()) { return;/*from www.ja va 2 s . c o m*/ } Field[] fields = beanClass.getDeclaredFields(); for (Field field : fields) { ServiceReference serviceReference = field.getAnnotation(ServiceReference.class); if (serviceReference == null) { continue; } org.osgi.framework.ServiceReference<?> osgiServiceReference = null; try { String filterString = serviceReference.filterString(); if (filterString.isEmpty()) { Class<?> typeClass = serviceReference.type(); osgiServiceReference = _bundleContext.getServiceReference(typeClass.getName()); } else { Class<?> typeClass = serviceReference.type(); org.osgi.framework.ServiceReference<?>[] serviceReferences = _bundleContext .getServiceReferences(typeClass.getName(), filterString); if (serviceReferences != null) { osgiServiceReference = serviceReferences[0]; } } ReflectionUtils.makeAccessible(field); field.set(targetBean, _bundleContext.getService(osgiServiceReference)); } catch (Throwable t) { throw new BeanCreationException(beanClass.getName(), "Unable to inject bean reference fields", t); } _serviceReferences.add(osgiServiceReference); } autoInject(targetBean, beanClass.getSuperclass()); }
From source file:com.alibaba.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.java
@Override public PropertyValues postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeanCreationException { InjectionMetadata metadata = findReferenceMetadata(beanName, bean.getClass(), pvs); try {//from ww w. j a v a2 s. c o m metadata.inject(bean, beanName, pvs); } catch (BeanCreationException ex) { throw ex; } catch (Throwable ex) { throw new BeanCreationException(beanName, "Injection of @Reference dependencies failed", ex); } return pvs; }
From source file:de.taimos.dvalin.cloud.aws.AWSClientBeanPostProcessor.java
@Override public PropertyValues postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException { InjectionMetadata metadata = this.buildResourceMetadata(bean.getClass()); try {//from w w w . ja v a 2s .c om metadata.inject(bean, beanName, pvs); } catch (Throwable ex) { throw new BeanCreationException(beanName, "Injection of resource dependencies failed", ex); } return pvs; }
From source file:com.baidu.jprotobuf.pbrpc.spring.annotation.CommonAnnotationBeanPostProcessor.java
public boolean postProcessAfterInstantiation(Object bean, String beanName) throws BeansException { List<Class<? extends Annotation>> methodFieldAnnotation = getCallback().getMethodFieldAnnotation(); if (getCallback() == null || methodFieldAnnotation == null) { return true; }/*from www .j a va 2 s .com*/ InjectionMetadata metadata = findAnnotationMetadata(bean.getClass(), methodFieldAnnotation); try { metadata.injectFields(bean, beanName); } catch (Throwable ex) { throw new BeanCreationException(beanName, "Autowiring service of fields failed", ex); } return true; }
From source file:com.baidu.jprotobuf.pbrpc.spring.annotation.CommonAnnotationBeanPostProcessor.java
public PropertyValues postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException { List<Class<? extends Annotation>> methodFieldAnnotation = getCallback().getMethodFieldAnnotation(); if (getCallback() == null || methodFieldAnnotation == null) { return pvs; }// w w w.ja v a2 s . co m InjectionMetadata metadata = findAnnotationMetadata(bean.getClass(), methodFieldAnnotation); try { metadata.injectMethods(bean, beanName, pvs); } catch (Throwable ex) { throw new BeanCreationException(beanName, "Autowiring of methods failed", ex); } return pvs; }
From source file:org.iff.infra.util.spring.script.ScriptFactoryPostProcessor.java
@Override public Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName) { // We only apply special treatment to ScriptFactory implementations here. if (!ScriptFactory.class.isAssignableFrom(beanClass)) { return null; }//w w w . ja va2s .c o m BeanDefinition bd = this.beanFactory.getMergedBeanDefinition(beanName); String scriptFactoryBeanName = SCRIPT_FACTORY_NAME_PREFIX + beanName; String scriptedObjectBeanName = SCRIPTED_OBJECT_NAME_PREFIX + beanName; prepareScriptBeans(bd, scriptFactoryBeanName, scriptedObjectBeanName); ScriptFactory scriptFactory = this.scriptBeanFactory.getBean(scriptFactoryBeanName, ScriptFactory.class); ScriptSource scriptSource = getScriptSource(scriptFactoryBeanName, scriptFactory.getScriptSourceLocator()); boolean isFactoryBean = false; try { Class<?> scriptedObjectType = scriptFactory.getScriptedObjectType(scriptSource); // Returned type may be null if the factory is unable to determine the type. if (scriptedObjectType != null) { isFactoryBean = FactoryBean.class.isAssignableFrom(scriptedObjectType); } } catch (Exception ex) { throw new BeanCreationException(beanName, "Could not determine scripted object type for " + scriptFactory, ex); } long refreshCheckDelay = resolveRefreshCheckDelay(bd); String language = (String) bd.getAttribute(LANGUAGE_ATTRIBUTE);//add by tylerchen if (refreshCheckDelay >= 0 || "groovy".equals(language)) { Class<?>[] interfaces = scriptFactory.getScriptInterfaces(); RefreshableScriptTargetSource ts = new RefreshableScriptTargetSource(this.scriptBeanFactory, scriptedObjectBeanName, scriptFactory, scriptSource, isFactoryBean); boolean proxyTargetClass = resolveProxyTargetClass(bd); //String language = (String) bd.getAttribute(LANGUAGE_ATTRIBUTE);//remove by tylerchen if (proxyTargetClass && (language == null || !language.equals("groovy"))) { throw new BeanDefinitionValidationException( "Cannot use proxyTargetClass=true with script beans where language is not 'groovy': '" + language + "'"); } //ts.setRefreshCheckDelay(refreshCheckDelay);//remove by tylerchen ts.setRefreshCheckDelay(-1);//add by tylerchen return createRefreshableProxy(ts, interfaces, proxyTargetClass); } if (isFactoryBean) { scriptedObjectBeanName = BeanFactory.FACTORY_BEAN_PREFIX + scriptedObjectBeanName; } return this.scriptBeanFactory.getBean(scriptedObjectBeanName); }
From source file:org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration.java
/** * The {@link MessageSourceAccessor} to provide messages for {@link ResourceDescription}s being rendered. * /*from w w w . j av a 2s . co m*/ * @return */ @Bean public MessageSourceAccessor resourceDescriptionMessageSourceAccessor() { try { PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean(); propertiesFactoryBean.setLocation(new ClassPathResource("rest-default-messages.properties")); propertiesFactoryBean.afterPropertiesSet(); ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.setBasename("classpath:rest-messages"); messageSource.setCommonMessages(propertiesFactoryBean.getObject()); messageSource.setDefaultEncoding("UTF-8"); return new MessageSourceAccessor(messageSource); } catch (Exception o_O) { throw new BeanCreationException("resourceDescriptionMessageSourceAccessor", "", o_O); } }
From source file:net.stickycode.mockwire.spring30.MockwireFieldInjectionAnnotationBeanPostProcessor.java
@Override public PropertyValues postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException { InjectionMetadata metadata = findAutowiringMetadata(bean.getClass()); try {//from ww w .j a v a 2 s . co m metadata.inject(bean, beanName, pvs); } catch (Throwable ex) { throw new BeanCreationException(beanName, "Injection of autowired dependencies failed", ex); } return pvs; }
From source file:org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.java
@Override public PropertyValues postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeanCreationException { InjectionMetadata metadata = findAutowiringMetadata(beanName, bean.getClass(), pvs); try {//from w w w . j av a2 s.c o m metadata.inject(bean, beanName, pvs); } catch (BeanCreationException ex) { throw ex; } catch (Throwable ex) { throw new BeanCreationException(beanName, "Injection of autowired dependencies failed", ex); } return pvs; }
From source file:org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.java
@Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { LifecycleMetadata metadata = findLifecycleMetadata(bean.getClass()); try {/* www. java2 s.c o m*/ metadata.invokeInitMethods(bean, beanName); } catch (InvocationTargetException ex) { throw new BeanCreationException(beanName, "Invocation of init method failed", ex.getTargetException()); } catch (Throwable ex) { throw new BeanCreationException(beanName, "Failed to invoke init method", ex); } return bean; }