Example usage for org.springframework.beans.factory BeanCreationException BeanCreationException

List of usage examples for org.springframework.beans.factory BeanCreationException BeanCreationException

Introduction

In this page you can find the example usage for org.springframework.beans.factory BeanCreationException BeanCreationException.

Prototype

public BeanCreationException(@Nullable String resourceDescription, @Nullable String beanName, String msg) 

Source Link

Document

Create a new BeanCreationException.

Usage

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;
}