La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Ingegneria del software Modulo 3 – Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 6 – Gestione.

Presentazioni simili


Presentazione sul tema: "Ingegneria del software Modulo 3 – Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 6 – Gestione."— Transcript della presentazione:

1 Ingegneria del software Modulo 3 – Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 6 – Gestione dichiarativa delle transazioni

2 Gestione dichiarativa delle transazioni Le responsabilità di gestione delle transazioni sono delegate al container EJB definisce i seguenti valori per l’attributo transazionale – TX_NOT_SUPPORTED – TX_BEAN_MANAGED – TX_REQUIRED – TX_SUPPORTS – TX_REQUIRES_NEW – TX_MANDATORY

3 TX_NOT_SUPPORTED Il container sospende l’associazione all’ambito transazionale prima di delegare la chiamata del metodo all’oggetto EJB Quando la chiamata del metodo all’oggetto EJB è completata, il container riprende l’associazione sospesa

4 TX_BEAN_MANAGED I limiti transazionali possono essere demarcati da un bean con l’attributo TX_BEAN_MANAGED usando ax.jtx.UserTransaction

5 TX_REQUIRED Se un client invoca un oggetto EJB che ha l’attributo TX_REQUIRED possono accadere due cose: – Se il client è associato a un contesto transazionale, il container invoca il metodo di EJB nel contesto transazionale del client – Se il client non è associato a un contesto transazionale, il container inizia una nuova transazione prima di delegare una chiamata del metodo all’oggetto EJB e tenta di confermare la transazione quando la chiamata è completata

6 TX_SUPPORTS Un oggetto EJB con TX_SUPPORTS è invocato nell’ambito transazionale del client se il client ne ha uno, altrimenti viene invocato il bean senza ambito transazionale Il contesto transazionale viene passato alle risorse che vengono invocate dall’oggetto EJB

7 TX_REQUIRES_NEW Quando viene invocato un bean con TX_REQUIRES_NEW, il container inizia una nuova transazione Delega una chiamata del metodo all’oggetto EJB Poi cerca di confermare la transazione quando la chiamata del metodo è completata Il container esegue il protocollo di conferma prima che il risultato del metodo sia inviato al client

8 TX_MANDATORY Un oggetto EJB con attributo TX_MANDATORY viene invocato nell’ambito di una transazione del client Il contesto transazionale del client viene passato alle risorse che vengono invocate dall’oggetto EJB Se il client tenta di invocare l’oggetto EJB senza il contesto transazionale, il container invia l’eccezione TransactionRequired al client

9 Livelli di isolamento delle transazione Livelli di isolamento possibili: – TRANSACTION_READ_UNCOMMITTED – TRANSACTION_READ_ COMMITTED – TRANSACTION_REPEATABLE_ READ – TRANSACTION_SERIALIZABLE

10 Limiti del deployment descriptor TX_BEEEN_MANAGED non deve essere usato insieme ad altri valori degli attributi transazionali – Un container dovrebbe individuare l’errore e avvisare il deployer FINE


Scaricare ppt "Ingegneria del software Modulo 3 – Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 6 – Gestione."

Presentazioni simili


Annunci Google