创建blob-java堆空间

创建blob-java堆空间,java,grails,groovy,Java,Grails,Groovy,我正在将一个多部分文件从控制器传递到服务和服务内部 正在尝试从此多部分文件创建Blob。问题是我正在使用的文件非常大(4-5GB),我得到了“java堆空间”错误(不,我无法为应用程序分配更多内存) 有没有办法把它流出来? 我正在使用Java7 服务代码: def uploadFile(MultipartFile file){ Sql sql = utilsService.retrieveSQLFromDataSource() Blob blob = dataSource.con

我正在将一个多部分文件从控制器传递到服务和服务内部 正在尝试从此多部分文件创建Blob。问题是我正在使用的文件非常大(4-5GB),我得到了“java堆空间”错误(不,我无法为应用程序分配更多内存)

有没有办法把它流出来? 我正在使用Java7

服务代码:

def uploadFile(MultipartFile file){
    Sql sql = utilsService.retrieveSQLFromDataSource()
    Blob blob = dataSource.connection.createBlob()
    blob.setBytes(1, file.bytes)
    ...
}

这里是相关的部分-我正在通过反复编写一小块来模拟一个大的BLOB

最重要的部分是创造的

看见
def bytes = data.getBytes()
BLOB tempBlob = BLOB.createTemporary(con, true, BLOB.DURATION_SESSION);
def os = tempBlob.setBinaryStream(0);
20000.times { 
 os.write(bytes,0,bytes.size())
}
os.close()
int len = tempBlob.length()
println "length $len"

stmt.setBLOB (1,tempBlob)

stmt.execute()