Example usage for org.springframework.beans.factory.support DefaultListableBeanFactory getBeanClassLoader

List of usage examples for org.springframework.beans.factory.support DefaultListableBeanFactory getBeanClassLoader

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support DefaultListableBeanFactory getBeanClassLoader.

Prototype

@Override
    @Nullable
    public ClassLoader getBeanClassLoader() 

Source Link

Usage

From source file:com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceExporter.java

/**
 * Registers the new beans with the bean factory.
 *///from ww w. jav  a2  s .  com
private void registerServiceProxy(DefaultListableBeanFactory dlbf, String servicePath, String serviceBeanName) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(JsonServiceExporter.class)
            .addPropertyReference("service", serviceBeanName);
    BeanDefinition serviceBeanDefinition = findBeanDefintion(dlbf, serviceBeanName);
    for (Class<?> iface : getBeanInterfaces(serviceBeanDefinition, dlbf.getBeanClassLoader())) {
        if (iface.isAnnotationPresent(JsonRpcService.class)) {
            String serviceInterface = iface.getName();
            LOG.fine(format("Registering interface '%s' for JSON-RPC bean [%s].", serviceInterface,
                    serviceBeanName));
            builder.addPropertyValue("serviceInterface", serviceInterface);
            break;
        }
    }
    if (objectMapper != null) {
        builder.addPropertyValue("objectMapper", objectMapper);
    }

    if (errorResolver != null) {
        builder.addPropertyValue("errorResolver", errorResolver);
    }

    if (invocationListener != null) {
        builder.addPropertyValue("invocationListener", invocationListener);
    }

    if (registerTraceInterceptor != null) {
        builder.addPropertyValue("registerTraceInterceptor", registerTraceInterceptor);
    }

    builder.addPropertyValue("backwardsComaptible", Boolean.valueOf(backwardsComaptible));
    builder.addPropertyValue("rethrowExceptions", Boolean.valueOf(rethrowExceptions));
    builder.addPropertyValue("allowExtraParams", Boolean.valueOf(allowExtraParams));
    builder.addPropertyValue("allowLessParams", Boolean.valueOf(allowLessParams));
    builder.addPropertyValue("exceptionLogLevel", exceptionLogLevel);
    dlbf.registerBeanDefinition(servicePath, builder.getBeanDefinition());
}

From source file:com.payu.ratel.client.ContextAnnotationAutowireCandidateResolver.java

protected Object buildLazyResolutionProxy(final DependencyDescriptor descriptor, final String beanName) {
    Assert.state(getBeanFactory() instanceof DefaultListableBeanFactory,
            "BeanFactory needs to be a DefaultListableBeanFactory");
    final DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) getBeanFactory();
    TargetSource ts = new TargetSource() {
        @Override//w ww  .j  a  v  a2 s.c om
        public Class<?> getTargetClass() {
            return descriptor.getDependencyType();
        }

        @Override
        public boolean isStatic() {
            return false;
        }

        @Override
        public Object getTarget() {
            return beanFactory.doResolveDependency(descriptor, beanName, null, null);
        }

        @Override
        public void releaseTarget(Object target) {
        }
    };
    ProxyFactory pf = new ProxyFactory();
    pf.setTargetSource(ts);
    Class<?> dependencyType = descriptor.getDependencyType();
    if (dependencyType.isInterface()) {
        pf.addInterface(dependencyType);
    }
    return pf.getProxy(beanFactory.getBeanClassLoader());
}