info.magnolia.module.blossom.context
Class ObservedBeanFactoryBean
java.lang.Object
org.springframework.aop.framework.ProxyConfig
org.springframework.aop.framework.AdvisedSupport
org.springframework.aop.framework.ProxyCreatorSupport
org.springframework.aop.framework.ProxyFactoryBean
info.magnolia.module.blossom.context.ObservedBeanFactoryBean
- All Implemented Interfaces:
- Serializable, javax.jcr.observation.EventListener, org.springframework.aop.framework.Advised, org.springframework.aop.TargetClassAware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationEventPublisherAware
public class ObservedBeanFactoryBean
- extends org.springframework.aop.framework.ProxyFactoryBean
- implements org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.BeanNameAware, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.BeanFactoryAware, javax.jcr.observation.EventListener, org.springframework.beans.factory.DisposableBean, org.springframework.context.ApplicationEventPublisherAware
FactoryBean that creates a bean and populates its properties with values from the repository and reloads the bean
automatically when the repository is updated.
The returned instance is a proxy that delegates calls to the instance created from the repository. The instance
delegated to is transparently swapped. The proxy is by default a JDK dynamic proxy proxying all the objects
interfaces. This can be changed to a cglib proxy by setting the property proxyTargetClass to true.
There is a delay mechanism in place that aggregates events in order to postpone reloading while the repository is
being updated. By default any change postpones reloading by 15 seconds but no longer than 60 seconds. These values
can be configured.
- Since:
- 1.2
- See Also:
- Serialized Form
Fields inherited from class org.springframework.aop.framework.ProxyFactoryBean |
GLOBAL_SUFFIX |
Fields inherited from class org.springframework.aop.framework.AdvisedSupport |
EMPTY_TARGET_SOURCE |
Methods inherited from class org.springframework.aop.framework.ProxyFactoryBean |
adviceChanged, createCompositeInterface, getObject, getObjectType, getProxy, isSingleton, setAdvisorAdapterRegistry, setAutodetectInterfaces, setBeanClassLoader, setFrozen, setInterceptorNames, setProxyClassLoader, setProxyInterfaces, setSingleton, setTargetName |
Methods inherited from class org.springframework.aop.framework.ProxyCreatorSupport |
addListener, createAopProxy, getAopProxyFactory, isActive, removeListener, setAopProxyFactory |
Methods inherited from class org.springframework.aop.framework.AdvisedSupport |
addAdvice, addAdvice, addAdvisor, addAdvisor, addAllAdvisors, addInterface, adviceIncluded, copyConfigurationFrom, copyConfigurationFrom, countAdvicesOfType, getAdvisorChainFactory, getAdvisors, getAdvisorsInternal, getInterceptorsAndDynamicInterceptionAdvice, getProxiedInterfaces, getTargetClass, getTargetSource, indexOf, indexOf, isInterfaceProxied, isPreFiltered, removeAdvice, removeAdvisor, removeAdvisor, removeInterface, replaceAdvisor, setAdvisorChainFactory, setInterfaces, setPreFiltered, setTarget, setTargetClass, setTargetSource, toProxyConfigString, toString, updateAdvisorArray |
Methods inherited from class org.springframework.aop.framework.ProxyConfig |
copyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setOpaque, setOptimize, setProxyTargetClass |
Methods inherited from interface org.springframework.aop.framework.Advised |
isExposeProxy, isFrozen, isProxyTargetClass, setExposeProxy |
ObservedBeanFactoryBean
public ObservedBeanFactoryBean()
getDefaultClass
public Class<?> getDefaultClass()
setDefaultClass
public void setDefaultClass(Class<?> defaultClass)
getRepository
@Deprecated
public String getRepository()
- Deprecated.
setRepository
@Deprecated
public void setRepository(String repository)
- Deprecated.
getWorkspace
public String getWorkspace()
setWorkspace
public void setWorkspace(String workspace)
getPath
public String getPath()
setPath
public void setPath(String path)
setMaxObservationDelay
public void setMaxObservationDelay(int maxObservationDelay)
setObservationDelay
public void setObservationDelay(int observationDelay)
afterPropertiesSet
public void afterPropertiesSet()
throws Exception
- Specified by:
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
- Throws:
Exception
destroy
public void destroy()
throws Exception
- Specified by:
destroy
in interface org.springframework.beans.factory.DisposableBean
- Throws:
Exception
onEvent
public void onEvent(javax.jcr.observation.EventIterator events)
- Specified by:
onEvent
in interface javax.jcr.observation.EventListener
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
- Specified by:
setApplicationContext
in interface org.springframework.context.ApplicationContextAware
setBeanFactory
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
- Specified by:
setBeanFactory
in interface org.springframework.beans.factory.BeanFactoryAware
- Overrides:
setBeanFactory
in class org.springframework.aop.framework.ProxyFactoryBean
setApplicationEventPublisher
public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
- Specified by:
setApplicationEventPublisher
in interface org.springframework.context.ApplicationEventPublisherAware
setBeanName
public void setBeanName(String beanName)
- Specified by:
setBeanName
in interface org.springframework.beans.factory.BeanNameAware
createInstance
protected Object createInstance()
throws info.magnolia.content2bean.Content2BeanException,
javax.jcr.RepositoryException
- Throws:
info.magnolia.content2bean.Content2BeanException
javax.jcr.RepositoryException
destroyInstance
protected void destroyInstance(Object instance)
reloadInstance
protected void reloadInstance()
throws info.magnolia.content2bean.Content2BeanException,
javax.jcr.RepositoryException
- Throws:
info.magnolia.content2bean.Content2BeanException
javax.jcr.RepositoryException
transformNode
protected Object transformNode(javax.jcr.Node node)
throws info.magnolia.content2bean.Content2BeanException
- Throws:
info.magnolia.content2bean.Content2BeanException
getConfigurationNode
protected javax.jcr.Node getConfigurationNode()
throws javax.jcr.RepositoryException
- Throws:
javax.jcr.RepositoryException
startObservation
protected void startObservation()
stopObservation
protected void stopObservation()
Copyright © 2009-2012 Magnolia International Ltd.. All Rights Reserved.