public abstract class AbstractServiceLoaderBasedFactoryBean extends AbstractFactoryBean<Object> implements BeanClassLoaderAware
ServiceLoader facility.ServiceLoaderloggerOBJECT_TYPE_ATTRIBUTE| Constructor and Description | 
|---|
| AbstractServiceLoaderBasedFactoryBean() | 
| Modifier and Type | Method and Description | 
|---|---|
| protected Object | createInstance()Delegates to  getObjectToExpose(java.util.ServiceLoader). | 
| protected abstract Object | getObjectToExpose(ServiceLoader<?> serviceLoader)Determine the actual object to expose for the given ServiceLoader. | 
| Class<?> | getServiceType()Return the desired service type. | 
| void | setBeanClassLoader(ClassLoader beanClassLoader)Callback that supplies the bean  class loaderto
 a bean instance. | 
| void | setServiceType(Class<?> serviceType)Specify the desired service type (typically the service's public API). | 
afterPropertiesSet, destroy, destroyInstance, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, getObjectType, isSingleton, setBeanFactory, setSingletonpublic AbstractServiceLoaderBasedFactoryBean()
public void setServiceType(@Nullable
                           Class<?> serviceType)
@Nullable public Class<?> getServiceType()
public void setBeanClassLoader(@Nullable
                               ClassLoader beanClassLoader)
BeanClassLoaderAwareclass 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.
setBeanClassLoader in interface BeanClassLoaderAwaresetBeanClassLoader in class AbstractFactoryBean<Object>beanClassLoader - the owning class loaderprotected Object createInstance()
getObjectToExpose(java.util.ServiceLoader).createInstance in class AbstractFactoryBean<Object>AbstractFactoryBean.getObject()protected abstract Object getObjectToExpose(ServiceLoader<?> serviceLoader)
Left to concrete subclasses.
serviceLoader - the ServiceLoader for the configured service class