public class PublishingServiceFactory
extends java.lang.Object
implements org.osgi.framework.ServiceFactory
| Modifier and Type | Field and Description |
|---|---|
private java.lang.ClassLoader |
aopClassLoader |
private org.osgi.framework.BundleContext |
bundleContext |
private java.lang.Class<?>[] |
classes |
private java.lang.ClassLoader |
classLoader |
private boolean |
createTCCLProxy |
private java.lang.Object |
lock |
private static org.apache.commons.logging.Log |
log
logger
|
private java.util.Map<java.lang.Object,java.lang.ref.WeakReference<java.lang.Object>> |
proxyCache
proxy cache in case the given bean has a non-singleton scope
|
private LazyTargetResolver |
targetResolver |
| Constructor and Description |
|---|
PublishingServiceFactory(LazyTargetResolver targetResolver,
java.lang.Class<?>[] classes,
boolean createTCCLProxy,
java.lang.ClassLoader classLoader,
java.lang.ClassLoader aopClassLoader,
org.osgi.framework.BundleContext bundleContext)
Constructs a new
PublishingServiceFactory instance. |
| Modifier and Type | Method and Description |
|---|---|
private java.lang.Object |
createCLLProxy(java.lang.Object target)
Proxy the target object with an interceptor that manages the context classloader.
|
java.lang.Object |
getService(org.osgi.framework.Bundle bundle,
org.osgi.framework.ServiceRegistration serviceRegistration) |
void |
ungetService(org.osgi.framework.Bundle bundle,
org.osgi.framework.ServiceRegistration serviceRegistration,
java.lang.Object service) |
private static final org.apache.commons.logging.Log log
private final java.util.Map<java.lang.Object,java.lang.ref.WeakReference<java.lang.Object>> proxyCache
private final LazyTargetResolver targetResolver
private final java.lang.Class<?>[] classes
private final boolean createTCCLProxy
private final java.lang.ClassLoader classLoader
private final java.lang.ClassLoader aopClassLoader
private final org.osgi.framework.BundleContext bundleContext
private final java.lang.Object lock
public PublishingServiceFactory(LazyTargetResolver targetResolver, java.lang.Class<?>[] classes, boolean createTCCLProxy, java.lang.ClassLoader classLoader, java.lang.ClassLoader aopClassLoader, org.osgi.framework.BundleContext bundleContext)
PublishingServiceFactory instance. Since its an internal class, this constructor
accepts a number of parameters to sacrifice readability for thread-safety.classes - target - beanFactory - targetBeanName - createTCCLProxy - classLoader - aopClassLoader - bundleContext - public java.lang.Object getService(org.osgi.framework.Bundle bundle,
org.osgi.framework.ServiceRegistration serviceRegistration)
getService in interface org.osgi.framework.ServiceFactoryprivate java.lang.Object createCLLProxy(java.lang.Object target)
target - public void ungetService(org.osgi.framework.Bundle bundle,
org.osgi.framework.ServiceRegistration serviceRegistration,
java.lang.Object service)
ungetService in interface org.osgi.framework.ServiceFactory