MongoDb 3.0.1 java 驱动程序 GridFs 错误
MongoDb 3.0.1 java driver GridFs error
我正在将一个应用程序升级到 Mongo java 驱动程序 3.0.1。除 GridFs 文件保存外,一切正常。它适用于旧的 java 驱动程序 (2.12.4)。现在我正在使用 mongodb-driver-core y mongodb-driver 3.0.1.
我的代码:
DB mongoDbFiles;
GridFS attachFile;
GridFSInputFile gfsFile;
mongoDbFiles = mongo.getDB("UserWebFiles");
attachFile = new GridFS(mongoDbFiles, "UserFiles");
..........
gfsFile = attachFile.createFile(new File("C:/dxl/" + (String) vFileNames.get(k)));
gfsFile.setFilename((String) vFileNames.get(k));
gfsFile.save();
在保存时报错:
com.mongodb.MongoException: 无法保存区块
原因:java.io.IOException:流已关闭
新驱动程序中的 GridFs 有什么变化吗?
正如我所说,它适用于驱动程序 2.12.4。 Java 版本 8(jdk 1.8.0_25 - 32 位)
提前致谢,
奥古斯托
我在 mongo-driver-3.0.1.jar 文件中发现了问题。我更正了 GrisFS.createFile 函数之一。我重新编译了jar文件,现在可以正常使用了。
如果有人遇到这个问题,我可以发送 jar 文件。我会尝试将更正发送至 Mongo。
我正在将一个应用程序升级到 Mongo java 驱动程序 3.0.1。除 GridFs 文件保存外,一切正常。它适用于旧的 java 驱动程序 (2.12.4)。现在我正在使用 mongodb-driver-core y mongodb-driver 3.0.1.
我的代码:
DB mongoDbFiles;
GridFS attachFile;
GridFSInputFile gfsFile;
mongoDbFiles = mongo.getDB("UserWebFiles");
attachFile = new GridFS(mongoDbFiles, "UserFiles");
..........
gfsFile = attachFile.createFile(new File("C:/dxl/" + (String) vFileNames.get(k)));
gfsFile.setFilename((String) vFileNames.get(k));
gfsFile.save();
在保存时报错: com.mongodb.MongoException: 无法保存区块
原因:java.io.IOException:流已关闭
新驱动程序中的 GridFs 有什么变化吗?
正如我所说,它适用于驱动程序 2.12.4。 Java 版本 8(jdk 1.8.0_25 - 32 位)
提前致谢,
奥古斯托
我在 mongo-driver-3.0.1.jar 文件中发现了问题。我更正了 GrisFS.createFile 函数之一。我重新编译了jar文件,现在可以正常使用了。
如果有人遇到这个问题,我可以发送 jar 文件。我会尝试将更正发送至 Mongo。