集成Java内容仓库和Spring - 编程入门网
quot;sessionFactory" ref="jcrSessionFactory"/>
</bean>
为了声明事务划分,我与上述事务管理器bean声明一起使用标准Spring类:
如果要求一个JTA管理器,一个简单而优雅的解决办法是使用来自Jackrabbit 捐献包的jca连接器。为了使用jca,你并不需要一个应用服务器,因为你可以用 一个可插入的JCA容器,如Jencks。JCA容器的配置已经超出本文的范围,但是你 可以参考JCR模块例子中使用Jencks的例子。 TransactionAwareRepository 对于要求普通JCR代码的应用程序,JCR模块允许用直接使用JCR API的代码, 透明地使用事务驱动会话。 此时,可以使用TransactionAwareRepository,它有 一个参数是JcrSessionFactory。这样,在使用Session.login()(它接收定义在 JcrSessionFactory中的参数)创建任何新会话时,如果发现有线程绑定的会话, 就将返回它。注意:如果使用事务,JCR会话就是事务性的,否则你必须手动设置 属性allowNonTxRepository为true,配置如下,要不然将抛出一个异常:
transactionRepository bean可以被用作一个普通的JCR仓库,不关心底层机 制或线程绑定会话、事务性或非事务性(如果有事务,关闭会话时要提交事务) 。 集成Java内容仓库和Spring(7)时间:2011-05-20 infoq Costin Leau 译:胡键可选特性支持侦测 为了最大化代码重用,但仍然允许插入可选特性,如用于不同JCR实现的事务 支持,JCR模块使用SessionHolder接口(前面已经提到),同时还有 SessionHolderProvider和SessionHolderProviderManager接口。用户一般不用与 它们打交道,因为它们是框架内部使用的;但是,它们代表了JCR模块主要的扩展 点。 SessionHolder类被内部不同组件使用,主要被事务管理器用来操作会话, SessionHolderProvider和SessionHolderProviderManager处理sessionHolder创 建的方式以及提供者是如何被个别使用的。缺省将使用 ServiceSessionHolderProviderManager,它利用JDK 1.3 Service Prov |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |