org.springframework.remoting.support
Class RemotingSupport

java.lang.Object
  extended by org.springframework.remoting.support.RemotingSupport
All Implemented Interfaces:
Aware, BeanClassLoaderAware
Direct Known Subclasses:
RemoteAccessor, RemoteExporter

public abstract class RemotingSupport
extends Object
implements BeanClassLoaderAware

Generic support base class for remote accessor and exporters, providing common bean ClassLoader handling.

Since:
2.5.2
Author:
Juergen Hoeller

Field Summary
protected  Log logger
          Logger available to subclasses
 
Constructor Summary
RemotingSupport()
           
 
Method Summary
protected  ClassLoader getBeanClassLoader()
          Return the ClassLoader that this accessor operates in, to be used for deserializing and for generating proxies.
protected  ClassLoader overrideThreadContextClassLoader()
          Override the thread context ClassLoader with the environment's bean ClassLoader if necessary, i.e.
protected  void resetThreadContextClassLoader(ClassLoader original)
          Reset the original thread context ClassLoader if necessary.
 void setBeanClassLoader(ClassLoader classLoader)
          Callback that supplies the bean class loader to a bean instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final Log logger
Logger available to subclasses

Constructor Detail

RemotingSupport

public RemotingSupport()
Method Detail

setBeanClassLoader

public void setBeanClassLoader(ClassLoader classLoader)
Description copied from interface: BeanClassLoaderAware
Callback that supplies the bean class loader to a bean instance.

Invoked after the population of normal bean properties but before an initialization callback such as InitializingBean's InitializingBean.afterPropertiesSet() method or a custom init-method.

Specified by:
setBeanClassLoader in interface BeanClassLoaderAware
Parameters:
classLoader - the owning class loader; may be null in which case a default ClassLoader must be used, for example the ClassLoader obtained via ClassUtils.getDefaultClassLoader()

getBeanClassLoader

protected ClassLoader getBeanClassLoader()
Return the ClassLoader that this accessor operates in, to be used for deserializing and for generating proxies.


overrideThreadContextClassLoader

protected ClassLoader overrideThreadContextClassLoader()
Override the thread context ClassLoader with the environment's bean ClassLoader if necessary, i.e. if the bean ClassLoader is not equivalent to the thread context ClassLoader already.

Returns:
the original thread context ClassLoader, or null if not overridden

resetThreadContextClassLoader

protected void resetThreadContextClassLoader(ClassLoader original)
Reset the original thread context ClassLoader if necessary.

Parameters:
original - the original thread context ClassLoader, or null if not overridden (and hence nothing to reset)