Interface Module

All Known Subinterfaces:
CommandHandlingModule, EntityModule<ID,E>, EventProcessorModule, EventSourcedEntityModule<ID,E>, QueryHandlingModule, StateBasedEntityModule<ID,E>
All Known Implementing Classes:
BaseModule, PooledStreamingEventProcessorModule, SubscribingEventProcessorModule

public interface Module
Interface describing a module of Axon Framework's configuration API.

Modules are relatively independent. They can be registered on a parent ApplicationConfigurer or registered in a nested style on another Module through the dedicated register module operation. Furthermore, a module is able to access the registered Components from the parent ApplicationConfigurer it is registered too. However, the parent is not able to retrieve components from these Modules, ensuring encapsulation.

Since:
3.0.0
Author:
Allard Buijze, Steven van Beelen
  • Method Details

    • name

      String name()
      The identifying name of this Module.
      Returns:
      The identifying name of this Module.
    • build

      Configuration build(@Nonnull Configuration parent, @Nonnull LifecycleRegistry lifecycleRegistry)
      Builds this Module, resulting in the Configuration containing all registered components.

      The given parent allows access to components that have been registered with it. Note that this operation is typically invoked through ApplicationConfigurer.build() and as such should not be invoked directly.

      Parameters:
      parent - The parent Configuration this Module belongs in, giving it access to the parent's components.
      lifecycleRegistry - The registry where lifecycle handlers can be registered by this module.
      Returns:
      The fully initialized Configuration instance from this Module specifically.