【发布时间】:2012-02-08 15:21:48
【问题描述】:
jhat OQL where 子句中如何做连词[AND]?
我想这样做:
select s from sun.security.x509.X500Name s where s.canonicalDn !=null and
/tiberium/(s.canonicalDn.toString())
也就是说,我想在其 canonicaldn 中找到所有包含 appTrust 的 X500Name。我需要 null 检查,因为一些 canonicaldn 可以为 null [并且 jhat 在这种情况下会在 toString 处引发空指针异常]。
但字面上的“和”不起作用。
顺便说一句,我使用过滤功能解决了这个问题:
select filter(heap.objects("sun.security.x509.X500Name"), isTiberium);
function isTiberium(s) {
return s.canonicalDn !=null && /tiberium/(s.canonicalDn.toString());
}
【问题讨论】: