Interface ModuleLifecycle

  • All Known Implementing Classes:
    AbstractModuleLifecycle

    public interface ModuleLifecycle
    ModuleLifecycle is an internal API hook for delegating lifecycle events to Infinispan sub-modules.

    For example, the 'tree' module needs to register specific types with the StreamingMarshaller. The 'query' module needs to register an interceptor with the Cache if the Cache has enabled querying etc etc.

    To use this hook, you would need to implement this interface (or extend AbstractModuleLifecycle) and then create a file called infinispan-module.properties in the root of your module's JAR. When using Maven, for example, infinispan-module.properties would typically be in the module's src/main/resources directory so it gets packaged appropriately.

    infinispan-module.properties

    Currently, the following properties are supported:

    • infinispan.module.name - the name of the module. The aim of this property is to identify each individual module, so the contents can be any valid String as long as it does not clash with the module name of another module's life cycle properties.
    • infinispan.module.lifecycle - the name of the class implementing ModuleLifecycle. This implementation would typically reside in the module's codebase.
    Modules who also have their own configuration (see {@see org.infinispan.configuration}), can access their configuration beans via Configuration.module(Class)
    Since:
    4.0
    Author:
    Manik Surtani