Proveedor de Registro de Rutas 25.11
El RouteRegistryProvider es una Interfaz de Proveedor de Servicio (SPI) que permite a los marcos de integración proporcionar mecanismos personalizados de descubrimiento de rutas. Esto permite que los marcos integren su propio escaneo de classpath y sistemas de inyección de dependencias con la infraestructura de enrutamiento de webforJ.
Descripción general
webforJ descubre rutas escaneando paquetes en busca de componentes anotados con @Route. La SPI RouteRegistryProvider permite a los marcos sobreescribir este comportamiento predeterminado con su propio mecanismo de descubrimiento.
Utiliza esta SPI cuando:
- Se integre con marcos de inyección de dependencias, como Spring, o Contextos e Inyección de Dependencias (CDI)
- Se soporte entornos especializados (OSGi, cargadores de clases personalizados, GraalVM)
- Se construyan adaptadores de marcos que necesiten gestionar el ciclo de vida de los componentes de ruta
- Se reutilicen escaneos de classpath existentes para optimizar el tiempo de inicio
Cómo funciona
Cuando se llama a RouteRegistry.ofPackage(), webforJ verifica los proveedores registrados a través del ServiceLoader de Java. Si se encuentra un proveedor, el descubrimiento de rutas se delega a ese proveedor. De lo contrario, se utiliza el mecanismo de escaneo predeterminado.
Creando tu proveedor
Para crear un proveedor de descubrimiento de rutas personalizado, implementa la interfaz SPI y regístrala a través del mecanismo ServiceLoader de Java.
Implementa la SPI
Crea una clase que implemente RouteRegistryProvider:
public class CustomRouteRegistryProvider implements RouteRegistryProvider {
@Override
public void registerRoutes(String[] packages, RouteRegistry registry) {
// Escanea paquetes y registra componentes @Route
}
}
Habilita el descubrimiento
Agrega el nombre de clase completamente calificado de tu proveedor a META-INF/services/com.webforj.router.RouteRegistryProvider:
com.example.framework.CustomRouteRegistryProvider