Développement de beans de session avec état

Vous pouvez créer une classe d'implémentation de bean de session avec état (Stateful) conformément à un procédé introduit dans la spécification Enterprise JavaBeans™ (EJB) 1.0, qui a été considérablement simplifié par la spécification EJB 3.0. Un bean avec état est un type de bean de session prévu pour être utilisé par un seul client tout au long de son cycle de vie et qui maintient un état conversationnel avec le client qui l'appelle.

Avant de commencer

Assurez-vous que vous comprenez les règles d'héritage pour chaque annotation implémentée. Par exemple, l'annotation @TransactionManagement est codée uniquement dans la classe du bean de session avec état. Vous ne pouvez pas utiliser cette annotation dans la classe étendue par la classe du bean, encore moins dans une classe située plus haut dans sa hiérarchie d'héritage.

Pourquoi et quand exécuter cette tâche

Les beans de session avec état peuvent avoir les vues suivantes : vue locale sans interface (nouveauté propre à EJB 3.1), métier locale, métier distante, locale propre à EJB 2.1 et distante propre à EJB 2.1. Un exemple est le panier d'achats auquel le client ajoute des articles lors d'une session d'achat en ligne.
L'exemple suivant montre un bean de session avec état basique :
package com.ibm.example;

public interface ShoppingCart {
    void addToCart (Object o);
    Collection getContents();
}

package com.ibm.example;

@Stateful
public class ShoppingCartBean implements ShoppingCart {
    private ArrayList contents = new ArrayList();
    
    public void addToCart (Object o) {
        contents.add(o);
    }
    public Collection getContents() {
        return contents;
    }
} 
Comme pour les autres types de bean enterprise, vous pouvez déclarer les métadonnées de votre bean de session avec état dans le descripteur de déploiement plutôt qu'en utilisant des annotations. Par exemple :
<?xml version="1.0"?>
<ejb-jar
  xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
  version="3.1">
  <enterprise-beans>
    <ejb-name>ShoppingCartBean</ejb-name>
    <business-local>com.ibm.example.ShoppingCart</business-local>
    <ejb-class>com.ibm.example.ShoppingCartBean</ejb-class>
    <session-type>Stateful</session-type>
  </enterprise-beans>
</ejb-jar>

Procédure


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_sfsb
Nom du fichier : tejb_sfsb.html