EJB3 and JCR (Jackrabbit) integration - simple demo application
This simple application shows integration EJB3 with JCR (Apache Jackrabbit implementation)
Application allows manage (create/update/delete) simple text documents in JCR repository
Application has two layers - WEB and EJB
- WEB layer Simple web application based on JSF (RichFaces)
- EJB Layer Stateless Session Bean with methods - get, put, delete, list. Session Bean access to JCR via JCA interface.
- JCR implementation Apache JackRabbit supplied as RAR (resource archive). JackRabbit provides JCA interface.
Build guidelines
1. Unzip sources into directory
You will have next directory structure:
-
ejb3_jcr - Parent project that holds parent pom.xml
-
ejb3_jcr_build - Build project or reactor
-
ejb3_jcr_ear - EAR project
-
ejb3_jcr_ejb - EJB module project
-
ejb3_jcr_war - WAR module project
2. cd ejb3_jcr_build
3. mvn install
4. check applicatio n ear - ejb3_jcr_ear/target/ejb3_jcr_demo.ear
Installation guidelines
- Install JBoss 4.2.2 or above
- copy ejb3_jcr_demo.ear into server/default/deploy directory
- Download jcr-1.0.jar file from http://repo1.maven.org/maven2/javax/jcr/jcr/1.0/ and copy it into server/default/lib directory
- Download jackrabbit-jca-1.4.rar file from http://repo1.maven.org/maven2/org/apache/jackrabbit/jackrabbit-jca/1.4/j... and copy it into server/default/deploy directory
- Copy jcr-ds.xml file from ejb3_jcr_build/src/main/resources into server/default/deploy directory
- Edit this file - change config-property "homeDir" to directory you want put JCR repository
- Run guidelines
- Start JBoss
- Open link http://localhost:8080/ejb3jcr
Application was tested under java 1.5
NOTE: This forum does not allow to attach files like *.zip, so rename attached file ejb3_jcr_demo.gif to ejb3_jcr_demo.zip
