Interface DriverAdapterLoader

All Known Implementing Classes:
AmqpDriverAdapterLoader, AzureAISearchDriverAdapterLoader, Cqld4DriverAdapterLoader, CqlDriverAdapterLoader, DataApiDriverAdapterLoader, DiagDriverAdapterLoader, DynamoDBDriverAdapterLoader, ExampleDriverAdapterLoader, GCPSpannerDriverAdapterLoader, HttpDriverAdapterLoader, KafkaDriverAdapterLoader, MongoDriverAdapterLoader, Neo4JDriverAdapterLoader, PulsarDriverAdapterLoader, QdrantDriverAdapterLoader, S4JDriverAdapterLoader, StdoutDriverAdapterLoader, TcpClientDriverAdapterLoader, TcpServerDriverAdapterLoader, WeaviateDriverAdapterLoader

public interface DriverAdapterLoader

This service allows for the dynamic instancing of DriverAdapters as services, using a well-defined method signature instead of (just) a no-args constructor. Since all key elements of the nosqlbench runtime are assembled into a component tree, each one requires an attachment point (parent) and child identifiers (label names and values) that uniquely describe it. This would typically be encoded as a constructor signature, however, there is no SPI mechanism which makes this easy to manage across JDPA and non-JDPA runtimes. So instead, we indirect this to a higher level service which has one and only one responsibility: to provide an instance through the well-defined API of load(NBComponent, NBLabels).