Session Bean

Il termine Session, sessione, identifica il ciclo di vita del componente. Il container utilizza tali oggetti durante una sessione utente, creandoli e distruggendoli dinamicamente.
Esistono due tipologie di session bean: stateless (senza stato) e stateful (con stato).

  1. Il modello stateless, che non li lega ad alcun client in maniera forte, rende possibile una gestione di risorse eccellente attraverso il meccanismo del pooling. L'application server mantiene una struttura dati (pool) in cui esistono una serie di istanze attive di stateless session bean. Ad ogni richiesta verrà utilizzato il primo bean del pool libero. Così facendo è evidente che un pool ben dimensionato può servire migliaia di utenti simultaneamente con pochissimi oggetti disponibili. L'application server infatti non dovrà sprecare risorse nelle operazioni di creazione e distruzione, riutilizzando quanto già presente in memoria.
  2. Il ciclo di vita dello stateful session bean è legato alla presenza di un utente. L'application server mantiene in memoria una struttura dati che lega ad ogni utente l'eventuale stateful session bean. Per questi componenti, il cui rapporto è 1:1 (con i client che hanno iniziato una conversazione con il server), il ciclo di vita prevede le fasi di passivazione ed attivazione. L'application server manterrà in memoria solo gli stateful session bean che stanno effettuando delle operazioni, riattivando gli altri nel momento del bisogno. Siccome verranno effettuate delle operazioni di scrittura sul disco è necessario che tutti gli oggetti coinvolti estendano l'interfaccia Serializable (che gli EJB ereditano di default dalla classe che estendono).
Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-ShareAlike 3.0 License