J'utilise JBoss 5.1 et je veux spécifier l'emplacement de mes fichiers de configuration en tant qu'entrée JNDI afin que je puisse le rechercher dans mon application web. Comment puis-je faire cela correctement?Comment définir une variable JNDI dans JBOSS?
2
A
Répondre
6
Il y a deux façons principales de le faire.
descripteur de déploiement/déclarative
Utilisez le JNDI Binding Manager en créant un descripteur de déploiement dans un fichier tel que * my-JNDI liaisons *** - service.xml ** et déposez-le dans deploy du serveur répertoire. Un descripteur exemple ressemble à ceci:
<mbean code="org.jboss.naming.JNDIBindingServiceMgr"
name="jboss.tests:name=example1">
<attribute name="BindingsConfig" serialDataType="jbxb">
<jndi:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jndi="urn:jboss:jndi-binding-service"
xs:schemaLocation="urn:jboss:jndi-binding-service \
resource:jndi-binding-service_1_0.xsd">
<jndi:binding name="bindexample/message">
<jndi:value trim="true">
Hello, JNDI!
</jndi:value>
</jndi:binding>
</jndi:bindings>
</attribute>
</mbean>
programatic
Acquire un contexte JNDI et exécuter vous-même obligatoire. Ceci est un exemple d'un « en-jboss » appellent à faire:
import javax.naming.*;
public static void bind(String name, Object obj) throws NamingException {
Context ctx = null;
try {
ctx = new InitialContext();
ctx.bind(name, obj);
} finally {
try { ctx.close(); } catch (Exception e) {}
}
}
Si le nom est déjà lié, vous pouvez appeler REBIND:
public static void rebind(String name, Object obj) throws NamingException {
Context ctx = null;
try {
ctx = new InitialContext();
ctx.rebind(name, obj);
} finally {
try { ctx.close(); } catch (Exception e) {}
}
}
Pour supprimer la liaison, appel unbind:
public static void unbind(String name) throws NamingException {
Context ctx = null;
try {
ctx = new InitialContext();
ctx.unbind(name);
} finally {
try { ctx.close(); } catch (Exception e) {}
}
}
Si vous essayez de le faire à distance (c.-à-pas dans la machine virtuelle JBoss.), alors vous devrez acquérir un contexte JNDI distant:
import javax.naming.*;
String JBOSS_JNDI_FACTORY = "org.jnp.interfaces.NamingContextFactory";
String JBOSS_DEFAULT_JNDI_HOST = "localhost";
int JBOSS_DEFAULT_JNDI_PORT = 1099;
.....
Properties p = new Properties();
p.setProperty(Context.INITIAL_CONTEXT_FACTORY, JBOSS_JNDI_FACTORY);
p.setProperty(Context.PROVIDER_URL, JBOSS_DEFAULT_JNDI_HOST + ":" + JBOSS_DEFAULT_JNDI_PORT);
Context ctx = new InitialContext(p);
Questions connexes
- 1. Recherche JNDI JBoss Application Server 7
- 2. jboss 7.1 jndi liaison par programmation
- 3. Comment définir une constante dans les baves jboss?
- 4. comment définir des noms spécifiques jjdi ejb dans jboss 7.1.1
- 5. Recherche JNDI sur JBoss AS 6.0
- 6. JBoss 6 DataSource JNDI non trouvé
- 7. jboss jndi Le contexte est vide
- 8. La recherche JNDI échoue (Spring, JBoss)
- 9. jboss 7.1.1 configuration finale pour jndi
- 10. ActiveMQ dans JBoss - Utilisation de JNDI pour jdbcPersistentAdaptetr
- 11. JBOSS 7 - OSGi Bundles pas présent dans JNDI TREE
- 12. Liaison JNDI dans JBoss (clé en main LiveCycle)
- 13. Liaison de noms JNDI dans JBOSS 5.1.0 Beta
- 14. Définir une chaîne simple Propriété JNDI dans Weblogic 10.0
- 15. Comment définir une page 404 personnalisée dans JBoss 5?
- 16. Comment définir une variable héritée dans Java?
- 17. comment définir une variable globale dans actionscript
- 18. Comment définir une variable dans JSF?
- 19. Comment définir une variable dynamique dans bash?
- 20. Comment définir une variable d'environnement dans cygwin?
- 21. Comment définir une variable "ENV" dans EmberJS?
- 22. Comment définir une variable locale
- 23. JBoss 7.1.1 Modification de la liaison JNDI en cours d'exécution
- 24. Sécurisation de JNDI pour les clients distants sur JBoss
- 25. Configuration JNDI avec jboss en utilisant oracle 11G
- 26. Service Jboss en fonction de la ressource JNDI
- 27. configurer le port de recherche JNDI jboss + EJB
- 28. JBoss JNDI Binding Manager - longueur maximale de la valeur?
- 29. Jetée JNDI Java Mail
- 30. JBoss AS7 JNDI Source de données perdue après republication