Class CosIdMachineAutoConfiguration

java.lang.Object
me.ahoo.cosid.spring.boot.starter.machine.CosIdMachineAutoConfiguration

@AutoConfiguration @EnableConfigurationProperties(MachineProperties.class) public class CosIdMachineAutoConfiguration extends Object
Auto-configuration for CosId machine ID management components.

This configuration class sets up the complete machine ID ecosystem including:

  • Instance identification and machine ID distribution
  • Machine state storage and persistence
  • Clock synchronization and backwards handling
  • Machine ID guarding and health monitoring
  • Lifecycle management for startup/shutdown

The configuration supports multiple distribution strategies:

  • Manual: Fixed machine ID assignment
  • StatefulSet: Kubernetes StatefulSet-based distribution
  • JDBC: Database-backed distribution
  • Redis: Redis-backed distribution
  • Zookeeper: Zookeeper-backed distribution
  • Proxy: Remote proxy server distribution
  • MongoDB: MongoDB-backed distribution

Example configuration:


 cosid:
   machine:
     enabled: true
     distributor:
       type: manual
       manual:
         machine-id: 1
 
  • Constructor Details

    • CosIdMachineAutoConfiguration

      public CosIdMachineAutoConfiguration(CosIdProperties cosIdProperties, MachineProperties machineProperties)
      Constructs a new machine auto-configuration with the provided properties.
      Parameters:
      cosIdProperties - the main CosId configuration properties
      machineProperties - the machine-specific configuration properties
  • Method Details