Я хочу запускать транзакции в моем веб-приложении Spring, которое использует хранилище Apache Jackrabbit. Затем JackRabbit использует реляционную базу данных (MySQL / PgSQL) для текстовых данных. Двоичные данные хранятся в файловой системе.
Пока у меня есть эта функциональная конфигурация бобов Jackrabbit:
<bean id="sessionFactory" class="com.example.MyJcrSessionFactory">
<constructor-arg index="0" ref="repository"/>
<constructor-arg index="1" ref="jcrCredentials"/>
</bean>
<bean id="repository" class="org.apache.jackrabbit.core.RepositoryImpl">
<constructor-arg index="0" ref="config" />
</bean>
<bean id="config" class="org.apache.jackrabbit.core.config.RepositoryConfig" factory-method="create">
<constructor-arg index="0" type="java.io.InputStream" value="classpath:jackrabbit/repository.xml"/>
<constructor-arg index="1" type="java.lang.String" value="/tmp/repository" />
</bean>
<bean id="jcrCredentials" class="javax.jcr.SimpleCredentials">
<constructor-arg index="0" type="java.lang.String" value="..." />
<constructor-arg index="1" type="char[]" value="..." />
</bean>
И остальная часть конфигурации Jackrabbit в файле repository.xml
.
Что мне нужно сделать, чтобы успешно выполнять транзакции в хранилище JackRabbit? Какую технологию я должен использовать?
Я использую Spring 3.1, Jackrabbit 2.3.3 на Tomcat / Glassfish. И я не хочу использовать устаревшие пружинные модули.