Notre application EJB3 peut être exécutée sur Oracle AS ou JBoss AS. Existe-t-il un moyen de connaître le type d'AS pendant l'exécution?Comment déterminer le type de serveur d'applications sur lequel une application s'exécute?
2
A
Répondre
1
Vous pouvez vérifier le type de béton de l'objet lors de l'exécution en utilisant la réflexion, par ex. le EJBContext
qui est injecté par l'application. serveur.
+0
Merci! En jboss retourne: org.jboss.ejb3.stateless.StatelessSessionContextImpl – tputkonen
1
Une autre méthode consiste à rechercher une valeur spécifique au serveur d'applications dans les propriétés système.
// EXAMPLE:
if (System.getProperty("catalina.base") != null) {
// Using Tomcat
...
else if (System.getProperty("jboss.server.name") != null) {
// Using JBoss
...
else if (System.getProperty("was.install.root") != null) {
// Using WebSphere
...
en double de http://stackoverflow.com/questions/1745836/determine-which-application-server-our-application-is-deployed-to et http://stackoverflow.com/questions/2117704/ how-can-i-déterminer-the-j2ee-application-server-type-et-version – skaffman
Notre application n'est pas une application web – tputkonen
Je n'ai pas dit que c'était. Aucun de ces doublons n'est spécifique aux webapps. – skaffman