The spring jcr module is not developed by the Apache Jackrabbit. AFAIU it is 
inactive for a number of years already.

But you don't need it to use JCR withing Spring applications. What it does is 
IMHO a bad approach with JCR anyway - it sees JCR as just another DAO/OCR 
framework and uses template callbacks etc. to make it completely transparent to 
the user how the JCR session underneath is managed. This is a bad thing, it is 
important to control the session (login, lifecycle usually per request, and 
exact save() or refresh() points) yourself.

A usueful approach is:
- to have maybe a servlet filter etc. auto-create the session at the start of 
the request and use whatever authentication you have over HTTP coming in to 
login the right user for the session and
- provide that to your servlets in e.g. a request attribute.
- session.save() would be up to servlets that actually change something (e.g. 
POST or PUT requests)
- background services outside a request would create their own session with 
e.g. a service user

You don't need the spring jcr module for this. Also, you might want to look at 
Apache Sling, which follows the above pattern.

Cheers,
Alex

On 29.08.2013, at 02:35, sumit tiwari <[email protected]> wrote:

> Hi All,
> 
> I am planning to use jack rabbit with spring. I am seeing that spring jcr 
> version 0.8 and 0.9 looks for old jsr170 jar and fails out.
> 
> 
> [ERROR] Failed to execute goal on project xyz: Could not resolve dependencies 
> for project com.test.xyq:war:2.4.2: The following artifacts could not be 
> resolved: jsr170:jsr170:jar:1.0, jeceira:jeceira:jar:0.1.3, 
> aparzev:doka:jar:0.1, aparzev:commons:jar:0.2, jug:jug-asl:jar:2.0.0: Failure 
> to find jsr170:jsr170:jar:1.0 in http:///nexus/content/groups/cliqrthirdparty 
> was cached in the local repository, resolution will not be reattempted until 
> the update interval of  has elapsed 
> http:///nexus/content/groups/cliqrthirdparty or updates are forced -> [Help 1]
> 
> I did the exclusion 
> 
> <dependency>
>                       <groupId>org.springmodules</groupId>
>                       <artifactId>spring-modules-jcr</artifactId>
>                       <version>0.8</version>
>                       <optional>true</optional>
>                       <exclusions>
>                               <exclusion>
>                                       <artifactId>jackrabbit-core</artifactId>
>                                       <groupId>org.apache.jackrabbit</groupId>
>                               </exclusion>
>                               <exclusion>
>                                       <artifactId>jackrabbit-jca</artifactId>
>                                       <groupId>org.apache.jackrabbit</groupId>
>                               </exclusion>
>               </exclusions>
>         </dependency> 
> 
> I am using it in application-context.xml
> 
> <bean id="repository"
>         class="org.springmodules.jcr.jackrabbit.RepositoryFactoryBean">
>         <!-- normal factory beans params -->
>         <property name="configuration" 
> value="classpath:/jackrabbit-repository.xml" />
>         <!-- use the target folder which will be cleaned  -->
>         <property name="homeDir" value="file:./tmp/repository" />
>     </bean>
> 
> Is there any recent spring document which I can refer. I am not keen on using 
> spring jcr but a good approach in which I can integrate the latest version of 
> jack rabbit with spring.
>  
> 
> -- 
> Thanks,
> Sumit 
> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to