类org.springframework.core.InfrastructureProxy源码实例Demo

下面列出了怎么用org.springframework.core.InfrastructureProxy的API类实例代码及写法,或者点击链接到github查看源代码。

/**
 * Unwrap the given resource handle if necessary; otherwise return
 * the given handle as-is.
 * @see org.springframework.core.InfrastructureProxy#getWrappedObject()
 */
static Object unwrapResourceIfNecessary(Object resource) {
	Assert.notNull(resource, "Resource must not be null");
	Object resourceRef = resource;
	// unwrap infrastructure proxy
	if (resourceRef instanceof InfrastructureProxy) {
		resourceRef = ((InfrastructureProxy) resourceRef).getWrappedObject();
	}
	if (aopAvailable) {
		// now unwrap scoped proxy
		resourceRef = ScopedProxyUnwrapper.unwrapIfNecessary(resourceRef);
	}
	return resourceRef;
}
 
/**
 * Unwrap the given resource handle if necessary; otherwise return
 * the given handle as-is.
 * @see InfrastructureProxy#getWrappedObject()
 */
static Object unwrapResourceIfNecessary(Object resource) {
	Assert.notNull(resource, "Resource must not be null");
	Object resourceRef = resource;
	// unwrap infrastructure proxy
	if (resourceRef instanceof InfrastructureProxy) {
		resourceRef = ((InfrastructureProxy) resourceRef).getWrappedObject();
	}
	if (aopAvailable) {
		// now unwrap scoped proxy
		resourceRef = ScopedProxyUnwrapper.unwrapIfNecessary(resourceRef);
	}
	return resourceRef;
}
 
/**
 * Unwrap the given resource handle if necessary; otherwise return
 * the given handle as-is.
 * @see org.springframework.core.InfrastructureProxy#getWrappedObject()
 */
static Object unwrapResourceIfNecessary(Object resource) {
	Assert.notNull(resource, "Resource must not be null");
	Object resourceRef = resource;
	// unwrap infrastructure proxy
	if (resourceRef instanceof InfrastructureProxy) {
		resourceRef = ((InfrastructureProxy) resourceRef).getWrappedObject();
	}
	if (aopAvailable) {
		// now unwrap scoped proxy
		resourceRef = ScopedProxyUnwrapper.unwrapIfNecessary(resourceRef);
	}
	return resourceRef;
}
 
源代码4 项目: lams   文件: TransactionSynchronizationUtils.java
/**
 * Unwrap the given resource handle if necessary; otherwise return
 * the given handle as-is.
 * @see org.springframework.core.InfrastructureProxy#getWrappedObject()
 */
static Object unwrapResourceIfNecessary(Object resource) {
	Assert.notNull(resource, "Resource must not be null");
	Object resourceRef = resource;
	// unwrap infrastructure proxy
	if (resourceRef instanceof InfrastructureProxy) {
		resourceRef = ((InfrastructureProxy) resourceRef).getWrappedObject();
	}
	if (aopAvailable) {
		// now unwrap scoped proxy
		resourceRef = ScopedProxyUnwrapper.unwrapIfNecessary(resourceRef);
	}
	return resourceRef;
}
 
/**
 * Unwrap the given resource handle if necessary; otherwise return
 * the given handle as-is.
 * @see org.springframework.core.InfrastructureProxy#getWrappedObject()
 */
static Object unwrapResourceIfNecessary(Object resource) {
	Assert.notNull(resource, "Resource must not be null");
	Object resourceRef = resource;
	// unwrap infrastructure proxy
	if (resourceRef instanceof InfrastructureProxy) {
		resourceRef = ((InfrastructureProxy) resourceRef).getWrappedObject();
	}
	if (aopAvailable) {
		// now unwrap scoped proxy
		resourceRef = ScopedProxyUnwrapper.unwrapIfNecessary(resourceRef);
	}
	return resourceRef;
}
 
/**
 * Build the Hibernate {@code SessionFactory} through background bootstrapping,
 * using the given executor for a parallel initialization phase
 * (e.g. a {@link org.springframework.core.task.SimpleAsyncTaskExecutor}).
 * <p>{@code SessionFactory} initialization will then switch into background
 * bootstrap mode, with a {@code SessionFactory} proxy immediately returned for
 * injection purposes instead of waiting for Hibernate's bootstrapping to complete.
 * However, note that the first actual call to a {@code SessionFactory} method will
 * then block until Hibernate's bootstrapping completed, if not ready by then.
 * For maximum benefit, make sure to avoid early {@code SessionFactory} calls
 * in init methods of related beans, even for metadata introspection purposes.
 * @since 4.3
 * @see #buildSessionFactory()
 */
public SessionFactory buildSessionFactory(AsyncTaskExecutor bootstrapExecutor) {
	Assert.notNull(bootstrapExecutor, "AsyncTaskExecutor must not be null");
	return (SessionFactory) Proxy.newProxyInstance(this.resourcePatternResolver.getClassLoader(),
			new Class<?>[] {SessionFactoryImplementor.class, InfrastructureProxy.class},
			new BootstrapSessionFactoryInvocationHandler(bootstrapExecutor));
}
 
/**
 * Build the Hibernate {@code SessionFactory} through background bootstrapping,
 * using the given executor for a parallel initialization phase
 * (e.g. a {@link org.springframework.core.task.SimpleAsyncTaskExecutor}).
 * <p>{@code SessionFactory} initialization will then switch into background
 * bootstrap mode, with a {@code SessionFactory} proxy immediately returned for
 * injection purposes instead of waiting for Hibernate's bootstrapping to complete.
 * However, note that the first actual call to a {@code SessionFactory} method will
 * then block until Hibernate's bootstrapping completed, if not ready by then.
 * For maximum benefit, make sure to avoid early {@code SessionFactory} calls
 * in init methods of related beans, even for metadata introspection purposes.
 * @since 4.3
 * @see #buildSessionFactory()
 */
public SessionFactory buildSessionFactory(AsyncTaskExecutor bootstrapExecutor) {
	Assert.notNull(bootstrapExecutor, "AsyncTaskExecutor must not be null");
	return (SessionFactory) Proxy.newProxyInstance(this.resourcePatternResolver.getClassLoader(),
			new Class<?>[] {SessionFactoryImplementor.class, InfrastructureProxy.class},
			new BootstrapSessionFactoryInvocationHandler(bootstrapExecutor));
}
 
源代码8 项目: lams   文件: LocalSessionFactoryBuilder.java
/**
 * Build the Hibernate {@code SessionFactory} through background bootstrapping,
 * using the given executor for a parallel initialization phase
 * (e.g. a {@link org.springframework.core.task.SimpleAsyncTaskExecutor}).
 * <p>{@code SessionFactory} initialization will then switch into background
 * bootstrap mode, with a {@code SessionFactory} proxy immediately returned for
 * injection purposes instead of waiting for Hibernate's bootstrapping to complete.
 * However, note that the first actual call to a {@code SessionFactory} method will
 * then block until Hibernate's bootstrapping completed, if not ready by then.
 * For maximum benefit, make sure to avoid early {@code SessionFactory} calls
 * in init methods of related beans, even for metadata introspection purposes.
 * @since 4.3
 * @see #buildSessionFactory()
 */
public SessionFactory buildSessionFactory(AsyncTaskExecutor bootstrapExecutor) {
	Assert.notNull(bootstrapExecutor, "AsyncTaskExecutor must not be null");
	return (SessionFactory) Proxy.newProxyInstance(this.resourcePatternResolver.getClassLoader(),
			new Class<?>[] {SessionFactoryImplementor.class, InfrastructureProxy.class},
			new BootstrapSessionFactoryInvocationHandler(bootstrapExecutor));
}
 
 类所在包
 类方法
 同包方法