迁移alfresco内容时获取异常,打开的文件太多

迁移alfresco内容时获取异常,打开的文件太多,alfresco,alfresco-share,opencmis,Alfresco,Alfresco Share,Opencmis,我在将内容从一个alfresco存储库迁移到另一个存储库时遇到此错误 我在实时生产服务器日志中发现了这个错误 在迁移运行时,服务器也会停机 任何人都可以帮助我解决这个问题,或者有任何建议来避免这个问题 如有任何帮助或意见,将不胜感激。 提前谢谢 我已经写了下面的代码片段 ContentStream contentStream = new ContentStreamImpl("content." + FilenameUtils.getExtension(fileName),

我在将内容从一个alfresco存储库迁移到另一个存储库时遇到此错误

我在实时生产服务器日志中发现了这个错误

在迁移运行时,服务器也会停机

任何人都可以帮助我解决这个问题,或者有任何建议来避免这个问题

如有任何帮助或意见,将不胜感激。 提前谢谢

我已经写了下面的代码片段

ContentStream contentStream = new ContentStreamImpl("content." + FilenameUtils.getExtension(fileName),
            BigInteger.valueOf(fileName.length()), new MimetypesFileTypeMap().getContentType(newfile), doc.getContentStream().getStream());
我有2个repository,使用上面的代码,我从源代码读取内容流,在目标存储库中创建新文件,并添加内容流。但是我没有找到任何方法来关闭内容流

请查看下面的错误日志以了解更多详细信息

java.net.SocketException:打开的文件太多
在java.net.PlainSocketImpl.socketAccept(本机方法)

如果您在客户端使用DotCMIS方法
GetContentStream
,请确保始终关闭流,即使您没有阅读它。否则,服务器的套接字将保持打开状态。根据应用程序的不同,客户端和/或服务器可能会耗尽套接字

关闭流的工作方式如下:

IContentStream contentStream = document.GetContentStream();
Stream stream = contentStream.Stream;

... do something with the stream ...

stream.Close();

可能重复的事实上我正在使用CMIS API,在那里我没有使用任何Writer对象对不起,但你的问题对我来说不清楚。我不确定您是否知道“打开的文件太多”是什么问题。你能解释一下你所说的迁移是什么意思吗?你到底在做什么?您是否可以监视您的系统打开的文件,以查看是否存在漏洞,或者只是您的迁移机制使用了太多的系统资源?您已经用“dotcmis”标记了您的问题,但您的代码片段是Java,而不是.Net。我想,标签应该是“opencmis”。您在代码段中提供的长度是错误的。它应该是流的长度,而不是文件名的长度。谢谢@Florian Muller这就是我正在做的。你能帮我关上这条小溪吗。因为我尝试了我的水平,但我没有找到任何方法来关闭流。@DeepakTalape请在您的问题中分享您的代码。