Qual è la differenza tra Bean di sessione senza stato e con stato?

Sommario:

Anonim

Il differenza principale tra Stateless e Stateful Session Bean è che Stateless Session Bean è un oggetto di business senza stato (dati) che descrive la logica di business mentre Stateful Session Bean è un oggetto di business con uno stato (dati) che descrive la logica di business.

EJB sta per Enterprise Java Bean. È una specifica fornita da Sun Microsystems. EJB aiuta nello sviluppo di applicazioni distribuite sicure e scalabili. Inoltre, è un componente lato server in quanto viene distribuito nel server. Un bean enterprise in Java è il bean di sessione, che contiene la logica di business. Inoltre, è possibile invocarlo da un client locale, remoto o di servizio web. In generale, Session Bean può essere una sessione stateless o stateful.

Contenitore, EJB, Bean di sessione senza stato, Bean di sessione con stato

Che cos'è il Bean di sessione senza stato?

Stateless Session Bean è un oggetto di business che rappresenta la logica di business. Non contiene dati. Inoltre, il contenitore non mantiene lo stato di conversione tra più chiamate al metodo. Pertanto, è necessario disporre di un contenitore EJB come JBoss, Glassfish e Websphere per eseguire un'applicazione EJB. Qui, il contenitore EJB raggruppa gli oggetti bean senza stato per soddisfare le richieste su richiesta. Tuttavia, è possibile accedervi solo un client alla volta. Nell'accesso simultaneo, il contenitore EJB instrada ogni richiesta a istanze diverse.

Che cos'è Stateful Session Bean?

Il bean di sessione con stato, come il bean di sessione senza stato, è un oggetto di business che rappresenta la logica di business senza dati e non mantiene alcuno stato. Tuttavia, in un bean di sessione con stato, il contenitore mantiene lo stato di conversazione tra più chiamate di metodo. In altre parole, i bean di sessione con stato mantengono lo stato sia all'interno che tra le transazioni. Pertanto, ogni bean di sessione con stato è associato a un client specifico.

Inoltre, i contenitori sono in grado di salvare e recuperare automaticamente lo stato di un bean durante la gestione di pool di istanze di bean di sessione con stato. In generale, i bean di sessione con stato aggiornano i campi ogni volta che si verifica una transazione. Pertanto, la sessione stateful aiuta a mantenere la coerenza dei dati.

Differenza tra Bean di sessione stateless e stateful

Definizione

Stateless Session Bean è un oggetto di business che rappresenta solo la logica di business. Al contrario, Stateful Session Bean è un oggetto di business che rappresenta la logica di business come un bean di sessione senza stato senza mantenere gli stati.

Stati/Dati

Il differenza principale tra il bean di sessione senza stato e quello con stato è quello il bean di sessione senza stato non ha stati o dati mentre il bean di sessione con stato ha stati o dati.

Coinvolgimento del contenitore

Annotazioni

@Stateless, @PostConstruct e @PreDestory sono le annotazioni di Stateless Session Bean mentre @Stateless, @PostConstruct, @PreDestory, @PrePassivate, @PostActivate sono le annotazioni di Stateful Session Bean.

Conclusione

In breve, Session Bean è un bean enterprise in Java che può essere stateless o stateful. Il differenza principale tra Stateless e Stateful Session Bean è quello Stateless Session Bean è un oggetto business senza stato (dati) che descrive la logica di business mentre Stateful Session Bean è un oggetto di business con lo stato (dati) che descrive la logica di business. In breve, la sessione stateful aiuta a mantenere la consistenza dei dati rispetto al bean di sessione stateless.

Riferimenti:

1. "Cos'è EJB - Javatpoint." Www.javatpoint.com, disponibile qui. 2. "Fagiolo di sessione senza stato - Javatpoint". Www.javatpoint.com, disponibile qui. 3. "Fagiolo di sessione con stato - Javatpoint." Www.javatpoint.com, disponibile qui.

Cortesia dell'immagine:

1. "Ejb" (CC BY-SA 3.0) tramite Commons Wikimedia

Qual è la differenza tra Bean di sessione senza stato e con stato?