本指南JCR Wiki建议为每个请求使用一个新会话。我的任务是创建一个jackrabbit 文件树。因此,按照本指南获取每个项目的属性/节点,我需要创建新会话并稍后关闭它吗?这样我每次都会创建很多会话,这看起来很奇怪。
但是,如果我一直为 JCR 使用一个会话,我会在 JCR 端遇到 MemoryHeapException 问题,并且有时无法正确保存节点。
在使用一个会话和每次创建一个会话之间是否有任何规范?还是我误读了指南?
我比 Jackrabbit 更熟悉 ModeShape,但总的来说,我认为最好为每个请求创建一个新会话,使用该会话处理请求,然后关闭会话。
通常,会话非常轻量级且创建成本低廉。但是有一些原因为什么创建单独的会话更好(或者至少更容易):
可能还有其他我没有想到的原因,但无论如何我希望这会有所帮助。