This interface should be implemented by all Infinispan modules that expect to have components using
Inject
,
Start
or
Stop
annotations. The metadata file is generated at build time and packaged in the module's
corresponding jar file (see Infinispan's
core
module
pom.xml
for an example of this).
Module component metadata is usually generated in a file titled
${module-name}-component-metadata.dat
and
typically resides in the root of the module's jar file.
For example, Infinispan's Query Module would implement this interface to return
infinispan-query-component-metadata.dat
.
Implementations of this interface are discovered using the JDK's
ServiceLoader
utility. Which means
modules would also have to package a file called
org.infinispan.factories.components.ModuleMetadataFileFinder
in the
META-INF/services/
folder in their jar, and this file would contain the fully qualified class name
of the module's implementation of this interface.
Please see Infinispan's query module for an example of this.