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:
  1. Il cliente avvia SLB1
  2. SLB1 accede all'interfaccia UserActivitySession, avvia un' ActivitySession,, quindi chiama un metodo su SFB2
  3. SFB2 accede all'interfaccia UserActivitySession, avvia un' ActivitySession, chiama un metodo su SFB2
  4. SFB2 ottiene una connessione ( setAutoCommit false) quindi utilizza JDBC per aggiornare un'origine dati monofase.
  5. Facoltativamente, SLB1 chiama un metodo separato su SFB2 per completare il lavoro, eseguendo il commit o il rollback dell'RMLT.
  6. 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.