Reittirekisterin tarjoaja 25.11
RouteRegistryProvider on palveluntarjoajaliittymä (SPI), joka mahdollistaa integra Frameworkien tarjoamaan mukautettuja reitin löytämismekanismeja. Tämä mahdollistaa Frameworkien integroimisen omien luokkakannan skannausten ja riippuvuuden injektointijärjestelmien kanssa webforJ:n reititysinfrastruktuuriin.
Yhteenveto
webforJ löytää reittejä skannaamalla paketteja @Route-annotoiduista komponenteista. RouteRegistryProvider SPI mahdollistaa Frameworkien ohittaa tämän oletuskäyttäytymisen omalla löytämismekanismillaan.
Käytä tätä SPI:tä, kun:
- Integroidaan riippuvuuden injektointikehyksiin, kuten Spring, tai konteksteihin ja riippuvuuden injektointiin (CDI)
- Tuetaan erikoistuneita ympäristöjä (OSGi, mukautetut luokkakuormaajat, GraalVM)
- Rakennetaan kehysadaptereita, jotka tarvitsevat hallita reittikomponenttien elinkaaren
- Hyödynnetään olemassa olevia luokkakannan skannauksia käynnistysaikojen optimointiin
Miten se toimii
Kun RouteRegistry.ofPackage() kutsutaan, webforJ tarkistaa rekisteröidyt tarjoajat Java:n ServiceLoader avulla. Jos tarjoaja löytyy, reitin löytämiseen delegoidaan tälle tarjoajalle. Muuten käytetään oletusskannausta.
Rakentaminen omalle tarjoajalle
Luodaksesi mukautetun reitin löytämistarjoajan, toteuta SPI-rajapinta ja rekisteröi se Java:n ServiceLoader-mekanismilla.
Toteuta SPI
Luo luokka, joka toteuttaa RouteRegistryProvider:
public class CustomRouteRegistryProvider implements RouteRegistryProvider {
@Override
public void registerRoutes(String[] packages, RouteRegistry registry) {
// Skannaa paketit ja rekisteröi @Route-komponentit
}
}
Ota löytämiseen käyttöön
Lisää tarjoajasi täydellinen luokan nimi tiedostoon META-INF/services/com.webforj.router.RouteRegistryProvider:
com.example.framework.CustomRouteRegistryProvider