我的查询结果有数百万行。我已经修改了visualvm.conf
-J-DOQLController.limitResults=1000000
Run Code Online (Sandbox Code Playgroud)
目前,作为解决方法,我运行查询,并将结果复制并粘贴到文件中。然而,结果给我的记忆带来了很大的压力。是否有办法跳过将结果显示到 UI,而直接将结果流式传输到文件?
我的查询如下所示:
select { obj1: busObj.obj1, ... , objN: busObj.objN }
from com.my.BusinessObject busObj
Run Code Online (Sandbox Code Playgroud)
你可以尝试这样的事情:
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" };
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1095 次 |
| 最近记录: |