我正在将一个应用程序升级到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:Stream Closed
新驱动程序中的GridF有什么变化吗?
正如我所说,它与驱动程序2.12.4配合得很好。 Java版本8(jdk 1.8.0_25 - 32位)
提前致谢,
奥古斯托
答案 0 :(得分:2)
我在mongo-driver-3.0.1.jar文件中发现了这个问题。我纠正了一个GrisFS.createFile函数。我再次编译了jar文件,现在效果很好。
如果有人有这个问题,我可以发送jar文件。我会尝试将修正发送给Mongo。