Class InfinispanRemoteCacheManagerFactoryBean

java.lang.Object
org.infinispan.spring.remote.AbstractRemoteCacheManagerFactory
org.infinispan.spring.remote.support.InfinispanRemoteCacheManagerFactoryBean
All Implemented Interfaces:
org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean<RemoteCacheManager>, org.springframework.beans.factory.InitializingBean

public class InfinispanRemoteCacheManagerFactoryBean extends AbstractRemoteCacheManagerFactory implements org.springframework.beans.factory.FactoryBean<RemoteCacheManager>, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean

A FactoryBean for creating an Infinispan RemoteCacheManager instance.

Configuration

A RemoteCacheManager is configured through a Properties object. For an exhaustive list of valid properties to be used see RemoteCacheManager's javadocs. This FactoryBean provides means to either inject a user-defined Properties instance or to set the location of a properties file to load those properties from. Note that it is illegal to use both mechanisms simultaneously.

Alternatively or in combination with setting the location of a Properties file to load the configuration from, this FactoryBean provides (typed) setters for all configuration settings. Settings thus defined take precedence over those defined in the injected Properties instance. This flexibility enables users to use e.g. a company-wide Properties file containing default settings while simultaneously overriding select settings whenever special requirements warrant this.
Note that it is illegal to use setters in conjunction with injecting a Properties instance.

In addition to creating a RemoteCacheManager this FactoryBean does also control that RemoteCacheManagers's lifecycle by shutting it down when the enclosing Spring application context is closed. It is therefore advisable to always use this FactoryBean when creating a RemoteCacheManager.

Author:
Olaf Bergner
See Also:
  • Constructor Details

    • InfinispanRemoteCacheManagerFactoryBean

      public InfinispanRemoteCacheManagerFactoryBean()
  • Method Details

    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Throws:
      Exception
      See Also:
      • InitializingBean.afterPropertiesSet()
    • getObject

      public RemoteCacheManager getObject() throws Exception
      Specified by:
      getObject in interface org.springframework.beans.factory.FactoryBean<RemoteCacheManager>
      Throws:
      Exception
      See Also:
      • FactoryBean.getObject()
    • getObjectType

      public Class<? extends RemoteCacheManager> getObjectType()
      Specified by:
      getObjectType in interface org.springframework.beans.factory.FactoryBean<RemoteCacheManager>
      See Also:
      • FactoryBean.getObjectType()
    • isSingleton

      public boolean isSingleton()
      Always return true.
      Specified by:
      isSingleton in interface org.springframework.beans.factory.FactoryBean<RemoteCacheManager>
      See Also:
      • FactoryBean.isSingleton()
    • destroy

      public void destroy() throws Exception
      stop the RemoteCacheManager created by this factory.
      Specified by:
      destroy in interface org.springframework.beans.factory.DisposableBean
      Throws:
      Exception
      See Also:
      • DisposableBean.destroy()