Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Gestione di default delle Transaction su Stateless Session Bean

    Salve a tutti. Vorrei avere le idee più chiare su quanto riguarda la gestione delle transazioni sui session bean. Io ho uno stateless session bean in cui ogni metodo fa un'operazione su database.
    Vorrei innanzitutto capire come sono gestite di default le transaction.
    Inoltre vorrei sapere se è corretto affermare che ciò che è contenuto in un metodo del session bean (anche se esso richiama altri suoi metodi) fa parte della stessa transazione.
    Qualcuno può aiutarmi?

  2. #2
    Quote Originariamente inviata da leoleo91 Visualizza il messaggio
    Salve a tutti. Vorrei avere le idee più chiare su quanto riguarda la gestione delle transazioni sui session bean. Io ho uno stateless session bean in cui ogni metodo fa un'operazione su database.
    Vorrei innanzitutto capire come sono gestite di default le transaction.
    Di default prima della chiamata di un metodo viene "avviata" una nuova transazione e alla fine del metodo se esso non solleva eccezioni quest'ultima viene "committata" o viceversa "rollbekata"
    Inoltre vorrei sapere se è corretto affermare che ciò che è contenuto in un metodo del session bean (anche se esso richiama altri suoi metodi) fa parte della stessa transazione.
    Qualcuno può aiutarmi?
    Ni... Se dentro un metodo dell'ejb richiami un'altro metodo per quel metodo vale la stessa considerazione cui sopra.

  3. #3
    Quote Originariamente inviata da francesco.muia Visualizza il messaggio
    Ni... Se dentro un metodo dell'ejb richiami un'altro metodo per quel metodo vale la stessa considerazione cui sopra.
    Come potrei assicurare che tutto cio che succede nel metodo, altre chiamate incluse, faccia parte della stessa transazione?

  4. #4
    Che io sappia non c'è modo, ti posso chiedere come mai vorresti farlo?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    99
    Stateful?
    se mi chiedeste chi è per me un vero amico vi risponderei che è una persona che io considero alla pari di me.

  6. #6
    Quote Originariamente inviata da francesco.muia Visualizza il messaggio
    Che io sappia non c'è modo, ti posso chiedere come mai vorresti farlo?
    il mio progetto è un sito che vende pacchetti vacanza. Un pachetto è composto da uno o piu prodotti, un prodotto è un volo, un pernottamento in albergo, ecc.
    quando si acquista un singolo prodotto avvengono 3 operazioni sul database: inserimento di un nuovo pacchetto creato appositamente, inserimento del ticket, decremento della disponibilità del prodotto. il bean ha 3 metodi appositi e inizialmente facevo 3 chiamate diverse. Poi ho inserito un metodo il cui corpo fa le 3 chiamate ai metodi della stessa classe.
    Vorrei che non capitasse mai che venga resa persisente solo una o due delle operazioni dette sopra

  7. #7
    Come ti ho detto prima le transazioni vengo aperte a catena ma forse quello che non ti è chiara è appunto questo, l'uso delle quattro transazioni ( nel tuo caso) ti da volendo un controllo ancora più fine se vogliamo.
    codice:
    Metodo 1 -> transazione 1
           Metodo 2 -> transazione 2
                 Metodo 3 -> transazione 3
    .....

    Ora che succede se si verifica un eccezione a runtime ( cioè non catchata / gestita ) durante l'esecuzione del Metodo 3 ?
    Semplicemente che tutte è tre le transazioni vengono rollbackate... Quindi non c'è assolutamente modo che avvenga la situazione da presentata.
    Ora quando dico che questa cosa ti da ipun controllo più fine e che per esempio potresti scegliere di catchare l'eccezione nel metodo 2 ed eventualmente portare a termine, che ne so invocando un ulteriore metodo, l'operazione.
    Ovviamente quest'ultimo vuole essere solo un esempio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.