Package com.tnsai.spi


package com.tnsai.spi
Service Provider Interface (SPI) package for TnsAI.

This package contains SPI interfaces that enable pluggable implementations for various components. Using Java's ServiceLoader mechanism, implementations can be discovered at runtime without explicit dependencies in the core module.

Available SPIs

Implementing an SPI

  1. Create a class implementing the SPI interface
  2. Register in META-INF/services/[interface-name]
  3. Add the JAR to classpath

Example


 // 1. Implement the interface
 public class MyCheckpointerProvider implements CheckpointerProvider {
     @Override
     public String name() { return "mystore"; }
     @Override
     public boolean isAvailable() { return true; }
     @Override
     public Checkpointer create(Map<String, Object> config) {
         return new MyCheckpointer(config);
     }
 }

 // 2. Register in META-INF/services/com.tnsai.spi.CheckpointerProvider
 // com.mycompany.MyCheckpointerProvider

 // 3. Use via factory
 Checkpointer cp = CheckpointerFactory.getInstance()
     .create("mystore", Map.of("url", "..."));