Question

Pour résumer la question que je rencontre, j'ai un EJB qui utilise la version A d'une bibliothèque (Appelons-Dep-vA.jar). dep-vA.jar est emballé dans la racine du fichier jar de l'EJB. Le dossier domaine lib dans le serveur d'application contient la version B de la même bibliothèque (Appelons-Dep-vB.jar). Lorsque vous appelez l'EJB, je reçois une erreur due au dossier dep-vB.jar en cours de chargement plutôt que dep-vA.jar.

Je suppose que la première partie de cette question est, est-ce de l'autre EJB isoler Sun One Application Server v9.1? J'avais l'impression qu'il fait. Mais il semble que une autre application chargée dep-vB.jar et ce EJB est directement l'utiliser sans charger lui-même.

La deuxième question est, si le serveur d'application ne EJBs isolat, est-il charge les dépendances de fichier jar de l'EJB avant de regarder dans les dossiers lib du serveur d'applications? J'avais l'impression que cela est également vrai, mais peut-être pas ...

Quelqu'un est-il assez familiarisé avec les serveurs d'applications Sun pour expliquer pourquoi dep-vB.jar est en cours de chargement plutôt que dep-vA.jar? Est-il possible de l'obtenir à la charge dep-vA.jar sans changer ce qui est dans les dossiers lib du serveur d'applications? (Je hésiter à faire tout ce qui pourrait affecter d'autres applications sur le serveur)

Merci.

Était-ce utile?

La solution

  

Je suppose que la première partie de cette question est, est-ce de l'autre EJB isoler Sun One Application Server v9.1? J'avais l'impression qu'il fait. Mais il semble que une autre application chargée dep-vB.jar et ce EJB est directement l'utiliser sans charger lui-même.

Selon Sahoo (qui est un promoteur GlassFish ), la spécification Java EE fait pas classe mandat isolement de chargement entre les modules d'une seule oreille de sorte que le comportement peut être différent d'un serveur d'application à une autre . Avec Sun ONE, ma compréhension de la documentation est que EJB-JAR sont isolés.

  

La deuxième question est, si le serveur d'application ne EJBs isolat, est-il charge les dépendances de fichier jar de l'EJB avant de regarder dans les dossiers lib du serveur d'applications? J'avais l'impression que cela est également vrai, mais peut-être pas ...

Il est une stratégie parent en premier (et à ma connaissance, Sun ONE permet de changer le mode déléguant webapps uniquement ).

Cela étant dit, ce qui se passe si vous la liste dep-vA.jar dans l'entrée de Class-Path du MANIFEST.MF de l'EJB-JAR?

Voir aussi

Autres conseils

Je n'ai pas utilisé ce serveur, mais je ne sais que dans WebSphere, il y a une possibilité d'utiliser PARENT_FIRST ou PARENT_LAST classloading. Vous seriez à la recherche d'un équivalent de PARENT_LAST où les classes sont chargées de l'AER avant d'aller sur le serveur.

Je suppose que la configuration d'un tel est possible dans un serveur d'applications, comme vous devriez toujours être en mesure d'appliquer vos pots de spécifiques d'application à charger sur toutes les autres.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top