2017-04-12 79 views
0

我的查询结果为数百万行。我已经修改visualvm.conf如何将VisualVM OQL结果直接保存到文件中?

-J-DOQLController.limitResults=1000000 

目前,作为一种解决方法我运行查询,并将结果复制并粘贴到文件中。但是,结果给我的记忆带来了很大的压力。是否有跳过向用户界面显示结果,并直接将结果直接流到一个文件?

我的查询是这样的:

select { obj1: busObj.obj1, ... , objN: busObj.objN } 
    from com.my.BusinessObject busObj 

回答

0

你可以尝试这样的:

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" }; 
} 
相关问题