FilesystemMetadataProvider:获取元数据文件

FilesystemMetadataProvider: get metadata file

在我们的多租户环境中,我们无法在 spring 文件中配置我们的 MetadataProvider,而必须在运行时 create/retrieve/etc 它们。我基本上是在尝试保留 MetadataProvider,以便我可以在应用程序重新启动时重新加载它们。对于 HttpMetadataProvider,我可以从 getMetadataURI() 方法中获取 URL。但是,我看不到从 FilesystemMetadataProvider 获取位置的方法。有没有办法,要不,我就得靠反思了。

您可以使用以下签名扩展 FilesystemMetadataProvider class 和覆盖方法 getMetadataIdentifier,以使其成为 public:

 public String getMetadataIdentifier() {
     return super.getMetadataIdentifier();
 }

该方法正在返回元数据文件的绝对路径。然后在定义您的元数据时,您可以使用新的而不是使用原始的 class 并根据需要获取文件名。