Class ModuleRepository
java.lang.Object
ai.pipestream.registration.repository.ModuleRepository
Repository for managing service module registrations in MySQL.
This is the primary data store (system of record).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionio.smallrye.mutiny.Uni<Map<ServiceStatus, Long>> Count registered services by statusio.smallrye.mutiny.Uni<ServiceModule> Get service by IDio.smallrye.mutiny.Uni<ConfigSchema> findLatestSchemaByServiceName(String serviceName) Get latest schema for a service (most recently created)io.smallrye.mutiny.Uni<ConfigSchema> findSchemaById(String schemaId) Get schema by IDio.smallrye.mutiny.Uni<List<ConfigSchema>> Get all schemas needing sync to Apicurioio.smallrye.mutiny.Uni<List<ServiceModule>> Find stale services (no heartbeat for > 30 seconds)io.smallrye.mutiny.Uni<List<ServiceModule>> Get all active servicesio.smallrye.mutiny.Uni<List<ServiceModule>> Get all services (for admin dashboard)io.smallrye.mutiny.Uni<ServiceModule> markUnhealthy(String serviceId) Mark service as unhealthyio.smallrye.mutiny.Uni<ServiceModule> registerModule(String serviceName, String host, int port, String version, Map<String, Object> metadata, String jsonSchema) Register a new service module with optional schema Updates existing module if it already existsio.smallrye.mutiny.Uni<ConfigSchema> saveSchema(String serviceName, String version, String jsonSchema) Save a configuration schema (dual storage: MySQL + Apicurio)io.smallrye.mutiny.Uni<Boolean> unregisterModule(String serviceId) Unregister a serviceio.smallrye.mutiny.Uni<ServiceModule> updateHeartbeat(String serviceId) Update heartbeat for a service
-
Constructor Details
-
ModuleRepository
public ModuleRepository()
-
-
Method Details
-
registerModule
public io.smallrye.mutiny.Uni<ServiceModule> registerModule(String serviceName, String host, int port, String version, Map<String, Object> metadata, String jsonSchema) Register a new service module with optional schema Updates existing module if it already exists -
saveSchema
public io.smallrye.mutiny.Uni<ConfigSchema> saveSchema(String serviceName, String version, String jsonSchema) Save a configuration schema (dual storage: MySQL + Apicurio) -
updateHeartbeat
Update heartbeat for a service -
markUnhealthy
Mark service as unhealthy -
unregisterModule
Unregister a service -
getActiveServices
Get all active services -
getAllServices
Get all services (for admin dashboard) -
findStaleServices
Find stale services (no heartbeat for > 30 seconds) -
findById
Get service by ID -
findSchemaById
Get schema by ID -
findLatestSchemaByServiceName
Get latest schema for a service (most recently created) -
findSchemasNeedingSync
Get all schemas needing sync to Apicurio -
countServicesByStatus
Count registered services by status
-