Glassfish/Jackrabbit

Cet article décrit comment déclarer une ressource de type javax.jcr.Repository dans l'annuaire JNDI de Glassfish. Il s'agit en l'occurrence de pointer vers un serveur Jackrabbit (deployment model 3). La version Jackrabbit utilisée est 1.3.

Il faut maintenant configurer l'application web pour pointer vers la ressource créée précédemment :

Fichier web.xml

<resource-ref>
  <description>Repository JackRabbit</description>
  <res-ref-name>jcr/repository</res-ref-name>
  <res-type>javax.jcr.Repository</res-type>
  <res-auth>Container</res-auth>
  <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

Fichier sun-web.xml

<resource-ref>
  <res-ref-name>jcr/repository</res-ref-name>
  <jndi-name>jcr/myRepository</jndi-name>
</resource-ref>

Après redémarrage de Glassfish, la ressource JCR peut être récupérée via un lookup JNDI :

InitialContext ctx = new InitialContext();
Repository repository = (Repository) ctx.lookup("java:comp/env/jcr/repository");