JCR jackrabbit - Instal·lació a OpenSuse
Aquest document indica els passos a seguir per a la instal·lació de jackrabbit a un servidor glassfish 2.1 executant-se en OpenSuse 11.1
JCR són les inicials de Java Content Repository (JSR 170 i JSR 283)
jackrabbit és la implementació de referència de la especificació JCR mantinguda per la fundació Apache
http://jackrabbit.apache.org/
glassfish és una servidor JEE
Es segueix el model 2 d'implementació descrit a http://jackrabbit.apache.org/deployment-models.html
# Model 1: Application Bundle HOWTO
# Model 2: Shared J2EE Resource HOWTO
# Model 3: Repository Server HOWTO
Descarregar jackrabbit-jca-1.5.5.rar de la web de jackrabbit
Nota: Aquest fitxer conté 2 fitxers amb directoris i fitxers anomenants license i LICENSE respectivament.
Si s'instal·la a un sistema de fitxers que no distingeixi majúscules de minúscules donarà error; i per tant abans d'instal·lar, s'han de reanomenar aquest 2 fitxers LICENSE a un altre nom, per exemple LICENCE.txt
Des de la consola d'administració de glassfish (http://172.23.220.49:4848/) anar a Configuration->Thread Pools
[New...]
Thread Pool ID: jackrabbit-pool
[OK]
Des de Applications->Connector Modules
[Deploy...]
Location:/<path>/jackrabbit-jca-1.5.5.rar //Ruta a l'arxiu descarregat anteriorment
Thread Pool ID:jackrabbit-pool //El creat anteriorment
[OK]
Des de Resources->Connectors->Connector Connection Pools
[New...]
Name:jackrabbit-connection-pool
Resource Adapter:jackrabbit-jca-1.5.5
[Next]
Això dóna l'excepció
javax.servlet.ServletException: java.lang.reflect.InvocationTargetException while attempting to process a 'command' event for 'nextButton'.
es tracta d'un error conegut de la versió 2.1 de glassfish, per tant assolirem el mateix objectiu per línia d'ordres:
/opt/glassfish/bin> sudo ./asadmin
Contraseña:
Use "exit" to exit and "help" for online help.
asadmin> create-connector-connection-pool --raname jackrabbit-jca-1.5.5 --connectiondefinition javax.jcr.Repository jackrabbit-connection-pool
Command create-connector-connection-pool executed successfully.
asadmin> exit
Des de Resources->Connectors->Connector Resources
[New...]
JNDI Name: jcr/repository //Un nom JNDI adient
Pool Name: jackrabbit-connection-pool //El nom del connector-connection-pool creat anteriorment
[OK]
Configuració inicial
Jackrabbit needs two pieces of information to set up a runtime content repository instance:
Repository home directory
Repository configuration file
These two configuration parameters are passed either directly to Jackrabbit when creating a repository instance or indirectly through settings for a JNDI object factory or some other component management system.
Creació d'un subdirectori per a emmagatzemar la configuració i les dades del dipòsit, per exemple a
/opt/glassfish/domains/pasarela/data/jackrabbit
en aquest cas, 'pasarela' és el domini de glassfish en el que s'ha instal·lat el dipòsit.
De l'arxiu jackrabbit-jca-1.5.5.rar; extreure el fitxer de configuració per defecte: repository.xml
i deixar-lo al directori crear anteriorment.
A
/opt/glassfish/domains/pasarela/lib/ext/
copiem l'arxiu 'jcr-1.0.jar'
A la pestanya 'Additional Properties' de l'anteriorment crear jackrabbit-connection-pool, afegim les propietats:
HomeDir=${com.sun.aas.instanceRoot}/data/jackrabbit
ConfigFile=${com.sun.aas.instanceRoot}/data/jackrabbit/repository.xml
Reiniciar glassfish
Comprovació
1. A 'Application Server', pestanya 'General', clic 'JNDI browsing'
ha d'apareixer un nou
jcr
jcr/repository
2. Al 'homeDir' directori creat anteriorment apareix la estructura de fitxers i directoris del dipòsit:
/opt/glassfish/domains/pasarela/data/jackrabbit/
-rw-r--r-- 1 root root 0 may 22 12:07 .lock
drwxr-xr-x 6 root root 4096 may 22 12:08 repository
-rw-r--r-- 1 jose users 4982 abr 24 12:27 repository.xml
drwxr-xr-x 3 root root 4096 may 22 12:07 version
drwxr-xr-x 3 root root 4096 may 22 12:07 workspaces