#前言
项目上在使用UCM作为文件存储管理,接手项目一年以后,在某日用户反馈前端界面报错,提示文件无法上传,检查代码,发现是已存储的文件数目>目标文件夹最大限制,下边看看如何解决这类问题。
#报错截图
1 登录ucm,访问文件夹,就提示content server请求失败
2 检查发现,是一个叫做COMMON的文件夹无法继续存储第1001个文件,导致服务管理界面报错,也同时导致后台代码报错
#解决手段一
1 不做分区存储的弊端
我们回忆一下,这其实是当时的开发人员将所有文件直接指向common文件夹下导致的,造成日积月累的文件堆积(一个文件夹),然后违反了ucm的存储协议,超过了最大限制。
2 分区存储
2.1 分区存储
不同的业务类型文件应该存储不同文件夹ID下,而不是所有文件都放到common下
2.2 分月存储
应该分月存储,如common/20191001 common/2019/1101这样,上传前检测一下是否存在当月文件夹,如果不存在则创建,并重新指定文件夹id,如果存在则往当月的文件夹存储,这样子以后翻查历史记录时也会非常方便,同时不会导致max limit报错。
#解决手段二
1 增加每个文件夹的大小限制
如本来ucm的存储协议要求1000为系统单个文件夹的存储上限,那么我们加大这个存储上限即可解决问题。
从linux进入ucm配置目录:/oracle/mwhome/user_projects/domains/ucm_domain/ucm/cs/data/collectionconfig
开始调整
这里注意:
如果服务器是多节点,每一个节点的配置文件都要一致,然后重启服务器。
不一致会重启服务器时无法启动,会报错。
#尾声
可能会有小伙伴问:
Q:这样从配置文件修改最大限制是不是不符合规范?合适吗?
A:合适,这个修改方式来源于官方,官方是允许的。
Q:那我能修改到10000吗?还是能无限增加吗?
A:这个倒是没试过,建议采用方案一与方案二贴合使用,既符合业务规范,也能在一定范围内解决业务问题。
希望能对大家有所帮助。