Implémentation des applications EJB 3.x
Utilisez cette tâche lorsque vous implémentez les applications Enterprise JavaBeans (EJB) 3.x.
Pourquoi et quand exécuter cette tâche
D'après la spécification EJB (Enterprise JavaBeans), les beans enterprise sont des composants Java™ qui implémentent généralement la logique métier des applications JEE (Java Platform, Enterprise Edition) et accèdent également aux données. IBM® WebSphere Application Server fournit un support étendu pour les beans enterprise, notamment les spécifications Enterprise JavaBeans (EJB) 2.x et EJB 3. La spécification EJB 3 simplifie le développement de la logique métier et le traitement des données pour les applications d'entreprise. Assemblez les beans dans un ou plusieurs modules EJB 3.x à l'aide d'un des outils d'assemblage.
La spécification EJB 3.0 est considérée, à juste titre, comme la mise à niveau la plus importante du modèle de programmation Java Platform, Enterprise Edition 5 (Java EE 5). La spécification EJB 3.0 constitue une simplification et une rationalisation de la logique métier et des modèles de programmation de persistance utilisés dans Java EE. Bien que l'API de persistance Java (JPA) de remplacement soit dénommée classe d'entité, elle ne doit pas être confondue avec les beans enterprise de type entity. Une entité JPA n'est pas un bean enterprise et n'a pas à s'exécuter dans un conteneur d'EJB.
- L'interface locale et tous les types parameter, return et exception utilisés par l'interface locale doivent être visibles par le chargeur de classe pour l'application ayant effectué l'appel et l'application EJB cible. Vous pouvez garantir cela en utilisant une bibliothèque partagée associée au chargeur de classe d'un serveur ou en utilisant une bibliothèque partagée isolée associée aux deux applications. Pour plus d'informations, consultez la rubrique relative à la création de bibliothèques partagées.
- Lorsque l'application EJB cible est arrêtée, toute référence en cache à l'EJB
doit être actualisée.
Vous pouvez, au choix :
- Redémarrez l'application appelante. La solution la plus simple consiste à redémarrer l'application ayant effectué l'appel lors du redémarrage d'une application EJB simple dont elle dépend.
- Obtenez une nouvelle référence à partir de JNDI. Par défaut, les recherches JNDI
de l'espace de nom Java sont mises en cache et ce dernier soit être désactivé ou vidé pour
obtenir une nouvelle référence. Pour plus d'informations, consultez la rubrique
relative au développement d'applications qui utilisent JNDI.
Les appels de méthode EJB émettent com.ibm.websphere.ejbcontainer.EJBStoppedException une fois l'application EJB cible arrêtée. Si vous avez mis en cache la référence d'EJB dans une variable d'instance en utilisant l'injection @EJB ou la recherche JNDI, vous pouvez alors intercepter cette exception et actualiser la référence d'EJB en effectuant une recherche hors du cache.
Effectuez la procédure ci-après si vous souhaitez implémenter l'application EJB 3.x dans WebSphere Application Server, y compris les conseils d'optimisation et de dépannage.