Example usage for org.springframework.aop.framework Advised getTargetSource

List of usage examples for org.springframework.aop.framework Advised getTargetSource

Introduction

In this page you can find the example usage for org.springframework.aop.framework Advised getTargetSource.

Prototype

TargetSource getTargetSource();

Source Link

Document

Return the TargetSource used by this Advised object.

Usage

From source file:org.kuali.rice.krad.data.provider.impl.ProviderRegistryImpl.java

/**
 * Returns the object being proxied, otherwise the given object is returned.
 *
 * @param bean The proxy to get the underlying object.
 * @return object being proxied, otherwise the given object is returned.
 * @throws Exception if errors while getting the underlying object.
 *///  w ww .j  a  v a 2s .c  o m
private Object unwrapProxy(Object bean) throws Exception {

    /*
     * If the given object is a proxy, set the return value as the object
     * being proxied, otherwise return the given object.
     */
    if (AopUtils.isAopProxy(bean) && bean instanceof Advised) {

        Advised advised = (Advised) bean;

        bean = advised.getTargetSource().getTarget();
    }

    return bean;
}

From source file:org.springframework.aop.target.CommonsPoolTargetSourceTests.java

@Test
public void testHitMaxSizeLoadedFromContext() throws Exception {
    Advised person = (Advised) beanFactory.getBean("maxSizePooledPerson");
    CommonsPoolTargetSource targetSource = (CommonsPoolTargetSource) person.getTargetSource();

    int maxSize = targetSource.getMaxSize();
    Object[] pooledInstances = new Object[maxSize];

    for (int x = 0; x < maxSize; x++) {
        Object instance = targetSource.getTarget();
        assertNotNull(instance);/*from w  ww.  ja  v  a2s .c  o  m*/
        pooledInstances[x] = instance;
    }

    // should be at maximum now
    try {
        targetSource.getTarget();
        fail("Should throw NoSuchElementException");
    } catch (NoSuchElementException ex) {
        // desired
    }

    // lets now release an object and try to accquire a new one
    targetSource.releaseTarget(pooledInstances[9]);
    pooledInstances[9] = targetSource.getTarget();

    // release all objects
    for (int i = 0; i < pooledInstances.length; i++) {
        targetSource.releaseTarget(pooledInstances[i]);
    }
}

From source file:org.springframework.integration.config.AbstractSimpleMessageHandlerFactoryBean.java

private Object extractTarget(Object object) {
    if (!(object instanceof Advised)) {
        return object;
    }/*from   ww w  .j  av  a2s  .c  om*/
    Advised advised = (Advised) object;
    if (advised.getTargetSource() == null) {
        return null;
    }
    try {
        return extractTarget(advised.getTargetSource().getTarget());
    } catch (Exception e) {
        this.logger.error("Could not extract target", e);
        return null;
    }
}

From source file:org.springframework.xd.dirt.plugins.stream.StreamPlugin.java

private Object extractTarget(Object bean) {
    if (!(bean instanceof Advised)) {
        return bean;
    }//from w w w  . ja va2  s.  com
    Advised advised = (Advised) bean;
    if (advised.getTargetSource() == null) {
        return null;
    }
    try {
        return extractTarget(advised.getTargetSource().getTarget());
    } catch (Exception e) {
        logger.error("Could not extract target from output channel. Tap will not be created.", e);
        return null;
    }
}