2012-06-27 76 views
2

我知道這個錯誤的含義,它拋出它的不尋常的事情。java.lang.OutOfMemoryError:EntitySave上的Java堆空間

EntitySave(arguments.entity); 

給了我一個

java.lang.OutOfMemoryError: Java heap space 

爲什麼呢?

注意:沒有轉儲,也沒有其他引發此錯誤的內容。

+4

有很少的信息去這裏。我對ColdFusion並不熟悉,但明白它在底層使用java。如果您可以弄清楚如何修改用於coldfusion的java啓動選項,則可以使用-XX:+ HeapDumpOnOutOfMemoryError選項獲取更多信息。請參閱:http://blogs.opcodesolutions.com/roller/java/entry/solve_java_lang_outofmemoryerror_java – Nathan

+0

感謝您的關注 – Prometheus

+1

查看C:\ ColdFusion9 \ runtime \ logs \ cfusion-out.log。在那裏可能有一個完整的堆棧跟蹤來暗示當時正在運行的東西。 – barnyr

回答

2

對,找到答案。對不起,我沒有提供很多關於ORM的新信息,也不知道如何查看日誌。

無論如何,我發現'內存不足'只發生在'插入'上。看着我的實體我包括一個preInsert()函數,這個函數我有...

if(structKeyExists(this,"SETCREATEDBY")){ 
    local.accountuser = getService("accountService").getAccountLoggedIn(); 
    writeDump(this); 
       this.setcreatedBy(local.accountuser); 

} 

所以,是我不好我也有一個垃圾!!!!所以很抱歉浪費你的時間瞭解到我吸取的教訓! :)

+0

記得轉儲實體添加一個top:n到你的writeDump的例如。 'writeDump(品種:此,頂部:2,中止:真);' –