Utilisation d'applications Enterprise JavaBeans appelant des composants EJB locaux dans une autre application
La spécification Enterprise JavaBeans (EJB) nécessite que les vues du client local soient prises en charge pour les composants EJB qui sont packagés dans la même application. Ceci inclut les interfaces d'accueil locales, les interfaces métier locales et les vues sans interface. Les vues du client local sont également prises en charge pour les composants EJB qui sont packagés dans la même application, mais nécessitent une configuration supplémentaire.
Pourquoi et quand exécuter cette tâche
Le produit prend en charge l'accès aux vues du client local pour les composants EJB packagés dans une application séparée, avec certaines restrictions :
- L'interface locale et tous les paramètres, return, et les types d'exception utilisés par l'interface locale doivent être visibles par le chargeur de classe de l'application appelante et de l'application EJB cible. Vous pouvez vous assurer qu'elles sont visibles en utilisant une bibliothèque partagée associée à un chargeur de classe du serveur ou en utilisant une référence de bibliothèque commune avec les deux applications.
- Lorsque l'application EJB cible est arrêtée, toutes les références mises en cache dans l'EJB doivent être actualisées en redémarrant l'application appelante. La solution la plus simple est de redémarrer l'application appelante lorsque vous redémarrez une application EJB cible sur laquelle elle repose.
Procédure
Ajoutez la configuration au fichier server.xml, par exemple :
<library id="ejbInterfaceLib">
<file name="${server.config.dir}/lib/ejbInterfaceLib.jar"/>
</library>
<webApplication id="ejbClient" location="ejbClient.war">
<classloader commonLibraryRef="ejbInterfaceLib"/>
</webApplication>
<ejbApplication id="ejbApp" location="ejbApp.ear">
<classloader commonLibraryRef="ejbInterfaceLib"/>
</ejbApplication>