Domanda

Sto imparando EJB3 e sono solo curioso di sapere quando è comodo da usare SFSB? Non riesco a trovare alcun esempio piacevole quando SFSB davvero risolvere facilmente qualche problema complesso.

In realtà vedo che SLSB può essere utilizzato come servizi web e questo è conveniente. Ma non so quando usare SFSB. Vedo solo problemi con esso, perché dovremmo imparare qualcosa, dovremmo scrivere codice che è formato da annotazioni un po 'meno poi completamente, dovremmo usare ricerca fastidioso ... e noi non ottenere nulla di buono in cambio.

Per esempio, non possiamo usare SFSB da SLSB, perché gli oggetti stateful possono essere utilizzati solo dal contesto stateful. Non possiamo usare DI nel servlet, invece dobbiamo creare manualmente le istanze SFSB utilizzando una ricerca JNDI e poi metterlo in un oggetto HttpSession. Non può essere un web-service.

L'unico vantaggio che posso vedere in SFSB è una gestione delle transazioni. Ma penso che sia raro caso in cui abbiamo davvero bisogno di una transazione e non abbiamo bisogno di DB. Posso immaginare che può essere davvero utile, quando archiviamo i nostri dati in un file XML e utilizziamo la gestione delle transazioni in SFSB per gestire DB non relazionale.

Sono quasi sicuro che io sono totalmente sbagliato, tanto mi da alcuni bei esempi di utilizzo SFSB.

È stato utile?

Soluzione

  

Sto imparando EJB3 e sono solo curioso di sapere quando è comoda da usare SFSB? Non riesco a trovare alcun esempio piacevole quando SFSB davvero risolvere facilmente qualche problema complesso.

Vuoi dire come un carrello della spesa? Questa è la risposta ovvia che mi viene in mente.

  

In realtà vedo che SLSB può essere utilizzato come servizi web e questo è conveniente.

Si può pensare di EJB come un modo per implementare servizi distribuiti, ma fate attenzione. Il termine "servizi web" rende la maggior parte della gente pensa di "servizi Web basati su SOAP utilizzando il protocollo HTTP", e che non è quello che avete in uno SFSB.

  

Ma non so quando usare SFSB. Vedo solo problemi con esso perché dovremmo imparare qualcosa, dovremmo scrivere codice che è formato da annotazioni un po 'meno poi completamente, dovremmo usare ricerca fastidioso .. E noi non ottenere nulla di buono in cambio.

Questo paragrafo è confusa, ma penso che tu stai dicendo che non ti piace molto EJB.

  

Per esempio, non possiamo usare SFSB da SLSB perché gli oggetti stateful possono essere utilizzati solo dal contesto stateful.

A destra, sono complementari. Si utilizza SFSB per casi d'uso che richiedono - attendere che -. Stato di mantenere tra le chiamate

  

Non possiamo usare DI nel servlet, invece di esso dovremmo creare manualmente esempio SFSB utilizzando la ricerca e poi metterlo a HttpSession oggetto. Non può essere un web-service.

Da dove provengono i servlet da qui?

  

L'unico profitto che posso vedere in SFSB è una gestione delle transazioni. Ma penso che sia raro caso in cui abbiamo davvero bisogno di una transazione e non abbiamo bisogno di DB. Posso supporre che possa essere davvero utile quando archiviamo i nostri dati in XML-file e utilizzare la gestione delle transazioni in SFSB per simulare DB relazionali.

Credo che tu sia totalmente fuori base qui. fagioli sessioni sono quelli che conoscono le unità delle operazioni di lavoro e gestori. Probabilmente hanno a lavorare con bean di entità a persistere alcuni di quello stato, quando il caso d'uso è fatto, quindi le transazioni non sono così raro come lei sembra pensare.

  

Sono quasi sicuro che io sono totalmente sbagliato, in modo da darmi alcuni davvero bello esempi di utilizzo SFSB.

Qual è il tuo aspettativa? Che qualcuno pubblicherà SFSB di lavoro? Non ho intenzione di farlo, soprattutto perché io non sono un grande fan EJB. (Io lo faccio tutto ciò che stai alludendo al più con la Primavera.)

Ma state certi che SFSB sono a volte utile. Il carrello della spesa è l'esempio evidente. Avete bisogno di un posto per mantenere gli elementi nel carrello fino a quando il cliente decide di acquistare. SFSB è un modo per realizzare questo.

Altri suggerimenti

è solo una questione di progettazione di scegliere tra una stateful e un'architettura stateless.

Il più delle volte il design senza stato è preferito poiché è più facile.

anche se più semplice da capire, all'inizio, la creazione di applicazioni apolidi porta ad una serie di problemi (un sacco di servizi web senza stato, primavera Singleton, ecc ...), rendendo l'applicazione meno gestibile nel lungo periodo.

preferisco progettare applicazioni stateful quando possibile.

stateful session bean è un modo per farlo. prototipo primavera o web con ambito di fagioli un altro.

controllo anche quadro cucitura fuori jboss.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top