ActivitySession campioni
WebSphere® Application Server fornisce alcuni esempi di ActivitySession.
- MasterMind campione
- Questo esempio è basato sul gioco MasterMind. È composto dai seguenti elementi:
- Un servlet, configurato con l'attributo di tipo di controllo ActivitySession impostato su Container, che accede a un bean di sessione con stato.
- Un bean di sessione con stato, configurato con una politica di attivazione di tipo " ActivitySession " contenente dati di stato transitori.
Il servlet avvia un' HttpSession e all'inizio di ogni nuova partita e la termina alla fine di ogni partita; pertanto, un' ActivitySession e dura per tutta la durata di ogni partita. La politica di attivazione " ActivitySession " impedisce la passivazione del bean e quindi i dati transitori rimangono in memoria. Questo esempio mostra l'associazione tra HttpSession e ActivationSession nel contenitore web e una politica di attivazione ActivitySession-scoped.
- Contenitore client per applicazioni aziendali e bean entità CMP supportato da un'origine dati con commit monofase
- In questo esempio, l'entity bean è configurato con le seguenti proprietà:
- TX_NON_SUPPORTATO
- Una politica gestita dal contenitore dell' ActivitySession e di REQUIRES
- Un confine LTC dell' ActivitySession
- Controllo della risoluzione LTC dell' ContainerAtBoundary
Il client accede all' UserActivitySession,, avvia un' ActivitySession,, aggiorna due istanze del bean, quindi termina l' ActivitySession. Lo fa due volte utilizzando EndModeReset e poi EndModeCheckpoint. Questo esempio illustra le seguenti funzionalità:- Accesso dei clienti all'interfaccia dell' UserActivitySession
- Transazioni locali multiple di gestione delle risorse (RMLT) che rientrano nell'ambito dell' ActivitySession e che prendono automaticamente la direzione di completamento da quella dell' ActivitySession
Il bean entità contiene anche una variabile transitoria che ogni chiamata di metodo incrementa (ottiene e imposta i dati persistenti). Questo valore viene verificato prima della fine dell' ActivitySession e per dimostrare che viene utilizzata la stessa istanza del bean. Il cliente verifica che i risultati siano corretti.
- Un contenitore client di applicazioni aziendali e due bean di sessione con diversi tipi di ActivitySession
- Questo esempio è costituito da un contenitore client di applicazioni aziendali e dai seguenti bean di sessione:
- SLB1, un bean di sessione senza stato configurato con un tipo di bean " ActivitySession ".
- SFB2, un session bean con stato configurato con ActivitySession Type di Requires, un limite LTC di ActivitySession, un controllo di risoluzione LTC di APPLICATION e un'azione LTC non risolta di ROLLBACK.
Entrambi i bean sono configurati con TX_NOTSUPPORTED.
Questo esempio utilizza i seguenti passaggi:- Il cliente avvia SLB1
- SLB1 accede all'interfaccia UserActivitySession, avvia un' ActivitySession,, quindi chiama un metodo su SFB2
- SFB2 accede all'interfaccia UserActivitySession, avvia un' ActivitySession, chiama un metodo su SFB2
- SFB2 ottiene una connessione ( setAutoCommit false) quindi utilizza JDBC per aggiornare un'origine dati monofase.
- Facoltativamente, SLB1 chiama un metodo separato su SFB2 per completare il lavoro, eseguendo il commit o il rollback dell'RMLT.
- SLB1 quindi termina l' ActivitySession con un EndModeCheckpoint.
Questo esempio illustra le seguenti funzionalità:- La direzione di completamento dell' ActivitySession e non è collegata alla direzione degli RMLT, sebbene il contenimento degli RMLT sia legato all' ActivitySession e.
- Il contenitore utilizza l'azione non risolta quando un RMLT non è stato completato.
- Un bean gestito da Bean ( ActivitySessions ) che utilizza l'interfaccia UserActivitySession.
Il campione verifica la correttezza dei risultati e li riporta al cliente.