Stateful EJB vs. normale Java-Klasse

oraclin25

Erfahrenes Mitglied
Hallo zusammen,

ich habe gelernt, dass bei einer Stateful-EJB der Zustand der Bean gespeicher wird, solange die Verbindung zum Client nicht beendet ist. Folgender Code ist so ein Beispiel von einer Stateful-EJB:

Code:
@Stateful
@Named
@StatefulTimeout(unit = TimeUnit.MINUTES, value = 30)
@SessionScoped
//@ApplicationScoped
public class ItemServiceStateful { 
    private Integer numberOfItems = 0;
     
    public void increaseItems() {
        numberOfItems++;
    }
     
    public int numberOfItems() {
        return numberOfItems;
    }
 
}

Sehr verständlich eigentlich. Allerdings frage ich mich:
Warum soll man den obigen Code als Stateful implementieren? Als "normale" Java-Klasse ginge doch auch?

Ist es vielleicht so, dass der obige Code zu einfach ist, um die Mächtigkeit einer Stateful-EJB darzustellen? Denn wie gesagt, ich könnte doch auch in dem Beispiel ohne irgendwelche Annotation zum Laufen bringen?

Vielen Dank für Eure Hilfestellungen.

Viele Grüße aus Rheinland,

Eure Ratna