xpage调用java_xpages – XPage Java对象在SSJS中的回收

这是一个很好的问题,因为这是“循环利用”原则的唯一例外之一(另外两个值得注意的例子是您不应该回收当前会话或数据库).对于数据源的后端文档进行回收是一个坏主意,因为JSF生命周期具有相同的句柄,您将从Domino中回收.数据源为我们照顾,所以不需要手动回收.另一方面,如果您获取特定项目(即doc.getFirstItem(“someFieldName”)或作为日期的项目值的句柄,则应该回收这些对象,而不是文档本身.

到目前为止,最重要的情况是回收Java和SSJS对象至关重要,因为每次前进到下一个条目或文档时,如果您跳过循环,则会泄漏句柄.在大多数其他情况下,回收仍然是可取的,但更接近于可选的,因为其他操作需要很长时间才能泄漏出来,造成问题.但是,如果您正在迭代一个非常大的视图,那么如果忘记回收,您可以轻松地在单个迭代中运行句柄.

然而,一个分开的想法:我很少看到一个情况,即在数据源的后端文档中获取句柄是最好的方法,所以我建议重新访问你的代码,以确保甚至有必要获取这个句柄开始.例如,而不是document.getDocument(true).getItemValueString(“someFieldName”),只需调用document.getValue(“someFieldName”)即可.返回的值应该是相同的,但是它会运行得更有效率,而你不会碰到后端文档,所以回收不是一个问题.而且每个项目访问的打字都较少,这肯定会随着时间的推移而增加.同样,代替document.getDocument(true).replaceItemValue(“someFieldName”,“newValue”),替换document.setValue(“someFieldName”,“newValue”).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值