我的查询导致数百万行。我已经修改了visualvm.conf
-J-DOQLController.limitResults=1000000
目前,作为一种解决方法,我运行查询,并将结果复制并粘贴到文件中。然而,结果给我的记忆带来了很大的压力。无论如何都要跳过将结果显示到UI,并直接将结果流式传输到文件?
我的查询如下:
select { obj1: busObj.obj1, ... , objN: busObj.objN }
from com.my.BusinessObject busObj
答案 0 :(得分:1)
您可以尝试以下内容:
writeToFile()
function writeToFile() {
var objects = heap.objects("com.my.BusinessObject", false);
var FileWriterClass=Java.type("java.io.FileWriter");
var writer = new FileWriterClass("/tmp/out.txt");
while (objects.hasMoreElements()) {
var busObj = objects.nextElement();
writer.write("obj1: "+busObj.obj1+", obj2: "+busObj.obj2+"\n");
}
writer.close();
return { Result: "done" };
}