Exemple de programme d'écoute d'entité

Vous pouvez écrire des programmes d'écoute d'entité en fonction de vos exigences. Vous trouverez ci-après plusieurs exemples de script.

Exemple de programme d'écoute d'entité utilisant des annotations

L'exemple ci-après illustre les appels de méthode de rappel de cycle de vie et l'ordre de ces appels. Soit la classe d'entité Employee et les deux programmes d'écoute d'entité suivants : EmployeeListener et EmployeeListener2.
@Entity
@EntityListeners({EmployeeListener.class, EmployeeListener2.class}) 
public class Employee {
    @PrePersist
    public void checkEmployeeID() {
        .... 
    }
}

public class EmployeeListener {
    @PrePersist
    public void onEmployeePrePersist(Employee e) {
        .... 
    }
}

public class PersonListener {
    @PrePersist
    public void onPersonPrePersist(Object person) {
        .... 
    }
}

public class EmployeeListener2 extends PersonListener {
    @PrePersist
    public void onEmployeePrePersist2(Object employee) {
        .... 
    }
}
Si un événement PrePersist se produit sur une instance Employee, les méthodes suivantes sont appelées dans l'ordre :
  1. Méthode onEmployeePrePersist
  2. Méthode onPersonPrePersist
  3. Méthode onEmployeePrePersist2
  4. Méthode checkEmployeeID

Exemple de programme d'écoute d'entité utilisant XML

L'exemple suivant explique comment définir un programme d'écoute d'entité sur une entité à l'aide du fichier XML du descripteur d'entité :
<entity
    class-name="com.ibm.websphere.objectgrid.sample.Employee"
    name="Employee" access="FIELD">
    <attributes>
        <id name="id" />
        <basic name="value" />
    </attributes>
    <entity-listeners>
        <entity-listener
            class-name="com.ibm.websphere.objectgrid.sample.EmployeeListener">
            <pre-persist method-name="onListenerPrePersist" />
            <post-persist method-name="onListenerPostPersist" />
        </entity-listener>
    </entity-listeners>
    <pre-persist method-name="checkEmployeeID" />
</entity>
L'entité Employee est configurée avec une classe de programme d'écoute d'entité com.ibm.websphere.objectgrid.sample.EmployeeListener, pour laquelle deux méthodes de rappel de cycle de vie sont définies. La méthode onListenerPrePersist est destinée à l'événement PrePersist event et la méthode onListenerPostPersist, à l'événement PostPersist. En outre, la méthode checkEmployeeID de la classe Employee est configurée pour écouter l'événement PrePersist.