Transactions 如何在Apache Sling中的HTTP请求或捆绑包生命周期阶段处理事务

Transactions 如何在Apache Sling中的HTTP请求或捆绑包生命周期阶段处理事务,transactions,jackrabbit,jcr,sling,Transactions,Jackrabbit,Jcr,Sling,根据JCR规范,我知道我可以请求一个UserTransaction对象(在JTA中指定),并在当前会话期间创建一个begin/commit/rollback序列。我的问题是,我是否可以在Sling中做类似的事情?例如,当用户请求解析为我的servlet的url时,或者在我的包启动期间 我可以访问JCR存储库,但当涉及资源时(可能没有JCR备份…),事务机制是否会按其预期工作 另外,Sling/JCR/Jackrabbit如何同时具有“事务控制”会话和非“事务控制”会话?如果出现问题,这种行为会给

根据JCR规范,我知道我可以请求一个UserTransaction对象(在JTA中指定),并在当前会话期间创建一个begin/commit/rollback序列。我的问题是,我是否可以在Sling中做类似的事情?例如,当用户请求解析为我的servlet的url时,或者在我的包启动期间

我可以访问JCR存储库,但当涉及资源时(可能没有JCR备份…),事务机制是否会按其预期工作


另外,Sling/JCR/Jackrabbit如何同时具有“事务控制”会话和非“事务控制”会话?如果出现问题,这种行为会给存储库带来一些不一致吗?

您真的需要事务吗?JCR会话的临时空间作为轻量级事务机制运行良好,如果您关闭会话而不调用save(),所有更改都将被丢弃。通常的模式是在servlet或脚本中处理您的请求,并且仅在所述内容成功时保存


另一方面,Sling提供对底层JCR会话的完全访问,因此您应该能够执行任何合适的操作。如果没有,最好是在Sling用户列表中询问,请参见

您真的需要交易吗?JCR会话的临时空间作为轻量级事务机制运行良好,如果您关闭会话而不调用save(),所有更改都将被丢弃。通常的模式是在servlet或脚本中处理您的请求,并且仅在所述内容成功时保存

另一方面,Sling提供对底层JCR会话的完全访问,因此您应该能够执行任何合适的操作。如果没有,最好是询问吊索用户列表,请参阅