Lorsque nous démarrons un serveur géré sur un weblogic intance, le serveur géré démarre un jvm. Droite? Alors maintenant, quand nous déployons plusieurs applications (fichiers war, fichiers ear) etc., sur la même instance weblogic sur le même serveur géré, est-ce que toutes ces applications fonctionnent sur le même jvm? Alors comment un objet (nom = obj1) appartenant à app1 se différencie-t-il d'un objet de même nom (name = obj2) dans app2?Serveur géré Weblogic
Répondre
Oui, toutes les applications telles que les fichiers EAR et les fichiers WAR s'exécutent dans la même machine virtuelle Java. La JVM est un processus Java et ces artefacts sont des applications multiples s'exécutant dans cette JVM. Je ne comprends pas ce que vous voulez dire par les noms d'objets qui sont identiques dans toutes les applications (votre question dit obj1 et obj2) mais s'il s'agit de choses comme des pools de connexion, ceux-ci ont des identifiants uniques via les applications JNDI .
Si vous faites référence à des classes (et des objets) simples, ceux-ci sont chargés et maintenus séparément par le chargeur de classe Java.
Lire la Application Classloading Hierarchy sur les docs
Chaque application reçoit sa propre hiérarchie classloader; le parent de cette hiérarchie est le classpath système classloader. Cela isole applications afin que l'application A ne peut pas voir les classloaders ou classes d'application B.
Bon, alors je l'ai fusionné cinq de vos comptes ensemble dans votre seul et unique compte enregistré: http: // stackoverflow .com/users/454671/kaushik Aussi, vous continuez d'ajouter des réponses au lieu d'utiliser des commentaires. Vous pouvez toujours modifier votre question pour ajouter des informations, et vous pouvez toujours laisser des commentaires sur les réponses à vos questions. Si vous parvenez à vous connecter à votre compte réel (au lieu de créer un nouveau compte non enregistré), vous constaterez que vous avez suffisamment de rep pour faire des commentaires n'importe où. – Will