有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在MAT Eclipse中使用OQL中的“AND运算符(&&&)”

我正在对java rmi应用程序和 使用OQL执行以下查询:

select tpoint.host.value.toString() from sun.rmi.transport.tcp.TCPEndpoint tpoint
where (tpoint.host!=null && tpoint.csf!=null)

上述查询在JVisualVM上成功编译,一些记录随后出现以下错误:-

Too many results. Please, refine your query.

相同的查询无法在Eclipse MAT中执行

above query中删除&& tpoint.csf!=null之后,它在Eclipse MAT中编译良好。此外,与JVisualVM相比,它花费的时间非常少,并且显示所有记录

我找不到在Eclipse MAT中使用&& operator的正确语法

面对为Eclipse MAT找到好的OQL参考资料的困难,我们非常感谢好的参考资料

提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    MAT Eclipse OQL和JVisualVM OQL在句法上存在差异

    在编写此答案时,与MAT Eclipse相比,可以用JVisualVM OQL(AFAIK)编写更复杂的查询

    唯一的缺点是,JViualVM查询的响应时间非常长,并且响应不包括所有记录

    如果MAT开发者在帮助内容中提供MAT OQL查询(groupby、子查询、字符串操作操作符)的良好文档,那就太棒了

  2. # 2 楼答案

    而不是&&;运算符,可以使用“”进行组合查询。似乎MAT只支持“and”或“not”,not&&| | | | | |

    下面是MAT中的OQL查询

    SELECT tpoint.host.value.toString() FROM sun.rmi.transport.tcp.TCPEndpoint tpoint WHERE ((tpoint.host != null) and (tpoint.csf != null))