CompressBackupUtil 不备份 blob

CompressBackupUtil does not backup blobs

我有这个代码

    Environment env = manager.getEnvironment(xodusRoot, appId);
    final File backupFile = CompressBackupUtil.backup(env, new File(env.getLocation(), "backups"), null, true);

    Representation representation = new FileRepresentation(backupFile, MediaType.APPLICATION_ZIP);
    Disposition disposition = new Disposition(Disposition.TYPE_ATTACHMENT);
    disposition.setFilename(backupFile.getName());
    representation.setDisposition(disposition);
    setStatus(Status.SUCCESS_OK);

它可以工作,但问题是 blob 没有进入备份。可能缺少什么?

Environments API 不允许 blob。要处理 blob,你必须有一个 PersistentEntityStore 的实例。它是Backupable,也是Environment。如果您将 PersistententityStore 的实例(而不是 Environment) 传递给 CompressBackupUtil.backup(...),那么您将获得带有 blob 的备份文件。