首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JCIFS jcifs.smb.SmbException:连接到系统上的设备无法工作

JCIFS jcifs.smb.SmbException:连接到系统上的设备无法工作
EN

Stack Overflow用户
提问于 2013-07-30 09:11:06
回答 1查看 3K关注 0票数 3

我们使用JCIFS (1.3.17)从Windows 2003文件服务器加载图像文件。不幸的是,加载在16384文件之后停止工作,当尝试访问更多文件时,我们会得到以下异常:

代码语言:javascript
复制
jcifs.smb.SmbException: A device attached to the system is not functioning.
    at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563) ~[jcifs-1.3.17.jar:na]
    at jcifs.smb.SmbTransport.send(SmbTransport.java:663) ~[jcifs-1.3.17.jar:na]
    at jcifs.smb.SmbSession.send(SmbSession.java:238) ~[jcifs-1.3.17.jar:na]
    at jcifs.smb.SmbTree.send(SmbTree.java:119) ~[jcifs-1.3.17.jar:na]
    at jcifs.smb.SmbFile.send(SmbFile.java:775) ~[jcifs-1.3.17.jar:na]
    at jcifs.smb.SmbFile.open0(SmbFile.java:989) ~[jcifs-1.3.17.jar:na]
    at jcifs.smb.SmbFile.open(SmbFile.java:1006) ~[jcifs-1.3.17.jar:na]
    at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:73) ~[jcifs-1.3.17.jar:na]
    at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:65) ~[jcifs-1.3.17.jar:na]
    at jcifs.smb.SmbFile.getInputStream(SmbFile.java:2844) ~[jcifs-1.3.17.jar:na]

在JCIFS中似乎有某种限制或设置导致了这个问题。

下面是一些测试代码重现了这个问题:

代码语言:javascript
复制
    for (int i = 0; i < 20000; i++) {
        try {
            SmbFile smbFile = new SmbFile("smb://fileserver/share/image.jpg", auth);
            byte[] data = IOUtils.toByteArray(smbFile.getInputStream());
            System.out.println(smbFile.getPath() + "  " + data.length);
        } catch (SmbException e) {
            e.printStackTrace();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

我们已经检查了文件服务器上的错误日志,但是没有什么可看的,所以我们假设我们做错了什么,或者JCIFS中有一些东西我们必须正确配置。

EN

回答 1

Stack Overflow用户

发布于 2013-07-31 07:32:28

可能找到了解决方案:似乎每个会话只能通过新的SmbFile()打开16384个文件。您必须调用SmbFileInputStream.close(),它调用包私有SmbFile.close(),它似乎向服务器发送一条SmbComClose消息,该服务器关闭请求并释放资源。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17942832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档