@Remove
@Remove markiert eine Methode in einer @Stateful-Bean: nach dem Aufruf wird die Instanz zerstört.
Wichtig, damit Stateful-Beans nicht ewig im Speicher bleiben.
I. Beispiel
@Stateful
public class CartBean {
private List<String> items = new ArrayList<>();
public void addItem(String item) { items.add(item); }
@Remove
public void checkout() {
// ... bestellen ...
// Container entfernt die Bean nach dieser Methode
}
}
II. Wann nutzen?
- Bei @Stateful: nach "Logout", "Checkout", "Cancel"
- Sonst läuft die Bean bis Timeout (Memory-Leak-Risiko!)
Warning
Bei @Stateless / @Singleton hat @Remove keine Bedeutung.