J'ai un bean piloté par message qui est invoqué à partir de données reçues sur un socket TCP via un adaptateur de ressources JCA dans un serveur d'application GlassFish 3.1.1. Le descripteur de déploiement dans le fichier sun-ejb-jar.xml spécifie l'URL et le port du socket. Lorsque le MDB est déployé, je vois le serveur d'application exécuter la méthode endpointActivation() dans l'adaptateur de ressources avec MessageEndpointFactory et ActivationSpec comme paramètres.
Cela fonctionne bien lorsque l'URL et le port sont connus avant le déploiement et peuvent être spécifiés dans le fichier XML, mais maintenant j'ai besoin de la possibilité de changer le socket TCP pendant l'exécution dans mon code EJB. Je n'ai trouvé aucune référence dans la spécification JCA sur la manière de le faire en cours d'exécution.
Pour référence, j'ai téléchargé la spécification sur le site d'Oracle. Spécification de l'architecture du connecteur J2EE Version 1.5
Essentiellement, j'aimerais déplacer le code XML suivant qui remplit l'ActivationSpec dans mon code EJB.
MyInboundSocketMDB
jca-sockets-rar
url
localhost
port
5006
Merci pour toutes suggestions.