Elinkaari kuuntelijat 25.02
AppLifecycleListener-rajapinta mahdollistaa ulkoisen koodin havainnoida ja reagoida sovelluksen elinkaaritapahtumiin. Tämän rajapinnan toteuttamalla voit suorittaa koodia tietyissä vaiheissa sovelluksen käynnistämisen ja sulkemisen aikana ilman, että sinun tarvitsee muokata App-luokkaa itse.
Elinkaari kuuntelijat havaitaan ja ladataan automaattisesti ajonaikana palveluntarjoajan konfiguraatiotiedostojen avulla. Jokainen sovellusesimerkki saa oman joukon kuuntelijaesimerkkejä, mikä pitää eristyksen erilaisten sovellusten välillä, jotka toimivat samassa ympäristössä.
Milloin käyttää elinkaari kuuntelijoita
Käytä elinkaari kuuntelijoita, kun sinun tarvitsee:
- Alustaa resursseja tai palveluja ennen sovelluksen käynnistymistä
- Siivota resursseja, kun sovellus päättyy
- Lisätä poikkileikkaavia huolenaiheita ilman, että muokkaat
App-luokkaa - Rakentaa liitännäisarkkitehtuureja
AppLifecycleListener-rajapinta
public interface AppLifecycleListener {
default void onWillCreate(Environment env) {} // Seitsemästä 25.03
default void onDidCreate(App app) {} // Seitsemästä 25.03
default void onWillRun(App app) {}
default void onDidRun(App app) {}
default void onWillTerminate(App app) {}
default void onDidTerminate(App app) {}
}
Jokainen sovellusesimerkki saa oman joukon kuuntelijaesimerkkejä:
- Kuuntelijat ovat eristyksissä eri sovellusten kesken
- Kuuntelijassa olevia staattisia kenttiä ei jaeta sovellusten välillä
- Kuuntelijaesimerkit luodaan, kun sovellus käynnistyy, ja tuhotaan, kun se päättyy
Jos sinun tarvitsee jakaa tietoja sovellusten välillä, käytä ulkoisia tallennusmekanismeja, kuten tietokantoja tai jaettuja palveluja.
Elinkaari tapahtumat
| Tapahtuma | Milloin kutsutaan | Yleiset käyttötarkoitukset |
|---|---|---|
onWillCreate 25.03 | Ympäristön alustamisen jälkeen, ennen sovelluksen luomista | Muokata konfiguraatiota, yhdistää ulkoisia konfiguraatiolähteitä |
onDidCreate 25.03 | Sovelluksen instanssin luomisen jälkeen, ennen alustusta | Varhainen sovellustason asettaminen, rekisteröi palveluja |
onWillRun | Ennen app.run() suoritusta | Alustaa resursseja, konfiguroi palveluja |
onDidRun | Sen jälkeen, kun app.run() on onnistuneesti suoritettu | Aloittaa taustatehtäviä, kirjaa onnistunut käynnistys |
onWillTerminate | Ennen sovelluksen päättymistä | Tallenna tila, valmistele sulkemista |
onDidTerminate | Sen jälkeen, kun sovellus on päättynyt | Siivoa resursseja, lopullinen lokitus |
Elinkaari kuuntelijan luominen
Perus toteutus
import com.webforj.App;
import com.webforj.AppLifecycleListener;
import com.webforj.Environment;
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
public class StartupListener implements AppLifecycleListener {
@Override
public void onWillCreate(Environment env) {
// Muokkaa konfiguraatiota ennen sovelluksen luomista
Config additionalConfig = ConfigFactory.parseString(
"myapp.feature.enabled = true"
);
env.setConfig(additionalConfig);
}
@Override
public void onDidCreate(App app) {
System.out.println("Sovellus luotu: " + app.getId());
}
@Override
public void onWillRun(App app) {
System.out.println("Sovellus käynnistyy: " + app.getId());
}
@Override
public void onDidRun(App app) {
System.out.println("Sovellus käynnistyi: " + app.getId());
}
}