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