Les EJB sont des êtres vivants qui passent leur temps à se baigner dans la piscine du serveur d'application (le fameux pool d'EJB). Cette piscine peut contenir de la banquise si le serveur d'app est hébergé sur une machine Linux.
Les EJB se nourrissent de mémoire vive, dont ils sont très friands, et vivent plus ou moins longtemps :

  • les EJB session :
    • les stateless ont la vie éternelle mais ne se souviennent jamais de rien, ils sont probablement trop vieux car ils errent dans les limbes du serveur d'aplication depuis le big bang. Lors du reboot du serveur, ils meurent et renaissent tel le phoenix.
    • les statefull sont mortels mais gardent en mémoire tout ce que vous avez fait. S'il n'y a pas de piscine sur le serveur d'app, alors ils ne peuvent vivre qu'une seule fois. Sinon, ils sortent de la piscine quand on a besoin d'eux et y retournent quand on n'en a plus besoin.
      Les EJB statefull font parfois des siestes sur le disques dur si ils sont au chômage technique (via EJBPassivate et EJBActivate).
  • les EJB messages sont des facteurs avec un mauvais karma qui se sont réincarnés. Ils permettent aux EJB session d'échanger des lettres entre eux. Ils sont condamnés à vivre éternellement et à transmettre les messages sans jamais prendre leur retraite.
  • Les EJB entités sont des descendants de la famille Barbapapa, et ainsi ils vivent sous plusieurs formes. Soit en forme de données, ils sont très généreux, soit en forme d'objet quelconque, pour faire la fête (la java). Ils peuvent être soit des adultes qui se gèrent seuls (BMP Bean managed persistence), soit des enfants, ils sont alors gérés par le serveur d'app (CMP container managed persistence).

Voila voila... les vacances sont proches.