我有一个项目,在那里我获得了一个 ID,然后使用该 ID 查找文件路径并处理它们……这些文件位于各种安装的驱动器上,因此我使用 SMBJ java 库来访问它们。我遇到的问题是某些(大多数)文件正在使用 DFS 挂载点......现在,这本身并不是问题,但显然 SMBJ 库似乎为每个不同的 DFS 创建嵌套会话地点。因此,即使我在阅读完文件后关闭了实际文件,DiskSession 对象仍然保留所有这些嵌套会话......最终要么通过 DFS 配置设置,要么通过这些库,我遇到了一些问题并停止允许创建更多会话。我正在处理数十万条记录,“崩溃”似乎发生在大约 500 条记录(会话)正在处理的某个地方。在查看代码以明确关闭这些嵌套会话时,我没有看到任何明显的东西.. 事实上,我在 DiskShare 对象的外部根本看不到对它们的外部访问。我是否缺少某种设置可以最大限度地提高所坚持的会话?除了我围绕这个管理某种我自己的计数器,关闭和重新打开会话/连接之外,我不知道如何处理这个问题。有谁知道我在这里想念什么?
1 回答

catspeake
TA贡献1111条经验 获得超0个赞
我为 SMBJ 创建了一个 PR,它改变了这一点。它将为同一主机重用嵌套会话。我自己已经成功地使用它来避免您遇到的完全相同的问题。https://github.com/hierynomus/smbj/pull/489
添加回答
举报
0/150
提交
取消