What's new? | Help | Directory | Sign in
Google
                
Search
for
Updated May 20, 2008 by philippe.prados
Labels: Phase-configuration
jndi  
Famille jndi/*

Famille JNDI

La famille jndi permet de lier plusieurs annuaires. Elle est généralement utilisé à l'insu du composant, et exploité via des liens entres clefs JNDI. Par exemple, pour référencer un EJB déclaré dans un autre annuaire JNDI.

Déclaration JEE

La ressource doit être déclarée dans le fichier web.xml ou ejb-jar.xml.

...
<resource-env-ref>
   <description>Un Context</description>
   <resource-env-ref-name>jndi/default</resource-env-ref-name>
   <resource-env-ref-type>javax.naming.Context</resource-env-ref-type>
</resource-env-ref>
...

Déclaration jndi-resource

Les métas-données pour décrire les exigences de la ressource doivent être exprimées dans le fichier jndi-resources.xml. Par exemple :

...
<resource name="jndi-web-sample/jndi/default" familly="jndi/default" />
<resource name="jndi-web-sample/jndi/default" familly="jndi/jboss">
java.naming.provider.url=
jnp.partitionName=${jndi.jboss.partitionName}
</resource>
...

Propriétés

Voici les propriétés optionnelles que vous pouvez ajouter dans le fichier jndi-resources.xml.

Famille JNDI
Propriété Description
archetype Indique l'archétype Maven du driver à utiliser. La valeur doit suivre le format suivant : <groupe>:<archetype>:<version>. La valeur par défaut dépend de la famille utilisée.

Extensions et limitations

Pour ajouter des paramètres spécifiques à un serveur d'applications, il faut ajouter à la déclaration de ressources, des informations complémentaires dont voici des exemples.

...
<resource name="jndi-web-sample/jndi/jboss" familly="jndi/jboss">
  <extends appsrv="jboss4_x">
java.naming.factory.url.pkgs=org.jnp.interfaces
jnp.partitionName=jndi.jboss.partitionName
  </extends>
</resource>
...

Déclinaisons

Les déclinaisons possibles pour le paramètre familly du fichier jndi-resources.xml sont les suivantes :

Famille Description
jndi/default Propose un lien vers un annuaire JNDI de la même famille que celle du serveur d'application.
jndi/cos Propose un lien vers un annuaire d'objets CORBA.
jndi/dns Permet un accès à un serveur DNS.
jndi/file Permet un accès à un répertoire comme annuaire.
jndi/jboss Offre la manipulation d'un annuaire JNDI JBoss distant.
jndi/ldap Manipule un annuaire LDAP.
jndi/rmi Manipule un annuaire RMI.
jndi/activemq Manipule un annuaire JNDI publié par ActiveMQ.

Variables

Les variables à valoriser lors de l'installation pour gérer ces ressources sont les suivantes :

Variable Description
${jndi.url} L'URL de connexion à un annuaire de la même marque que le serveur d'application. La valeur par défaut dépend de chaque serveur.
${jndi.jboss.url} L'URL de connexion à un annuaire JBoss. La valeur par défaut est : ${jndi.url}
${jndi.jboss.partitionName} Indique le nom de la partition. La valeur par défaut est : DefaultPartition
${jndi.dns.authoritative} Permet de vérifier que chaque réponse DNS émane de l'autorité compétente, et non d'un cache. La valeur par défaut est : false
${jndi.dns.lookup.attr} « Before JNDI invokes an object factory on a DNS context, it by default reads and passes to the factory any internet TXT attributes of the context. This property, if set, names an alternate attribute identifier to use. » La valeur par défaut est : true
${jndi.dns.recursion} Effectue une requête DNS récursive. La valeur par défaut est : true
${jnbi.cos.batchsize} Indique le nombre d'objet maximum retourné lors d'une requête à un référentiel CORBA. La valeur par défaut est 10.
${jndi.file.url} L'URL référençant la racine du répertoire à consulter. Il n'y a pas de valeur par défaut.
${jndi.ldap.url} L'URL de connexion à un annuaire LDAP. Il n'y a pas de valeur par défaut.
${jndi.ldap.security.authentication} Le type d'authentification a l'annuaire LDAP. La valeur par défaut est : simple
${jndi.ldap.security.principal} L'identité de connexion a l'annuaire LDAP. Il n'y a pas de valeur par défaut.
${jndi.ldap.security.credentials} Le mot de passe pour la connexion LDAP. Il n'y a pas de valeur par défaut.
${jndi.ldap.batchsize} Indique le nombre d'objet maximum retourné lors d'une requête à un référentiel CORBA. La valeur par défaut est 10.
${jndi.activemq.url} Indique l'URL de connection au serveur ActiveMQ. La valeur par défaut est ${jms.activemq.url}

Les autres ressources


Sign in to add a comment