我想增加文件大小,在将其上传到grails app时会保留在内存中(意味着它不会写入hdd)。我已经阅读了一些定义multipartResolver bean的建议并设置了maxInMemorySize属性:
multipartResolver(org.springframework.web.multipart.commons.CommonsMultipartResolver){
maxInMemorySize=10240
}
但是我发现grails已经定义了这个bean,所以根据我的定义,我会覆盖grails定义的所有其他设置。这真是一个好方法吗?
答案 0 :(得分:1)
你是正确的,你可能正在删除Grails所做的一些配置,即使你复制了整个原始的bean定义并进行了一次更改,Grails的定义可能在将来发生变化,你也可以防止它。
在这种情况下,您似乎可以随时更改此属性; Spring bean中的setter将值设置为DiskFileItemFactory
的私有实例,而looking at its source似乎是一个安全的更改。
所以我会在BootStrap中为bean添加一个依赖注入,并在那里进行更改,例如。
class BootStrap {
def multipartResolver
def init = {
multipartResolver.maxInMemorySize = 10240
}
}