Skip searching of nonexistent directory in PathMatchingResourcePatternResolver
Prior to this commit, when PathMatchingResourcePatternResolver processed a `file:` pattern (for example, `file:/app-config/**`) for a `rootPath` that did not exist in the filesystem, the resolver attempted to search the directory and logged a WARNING message similar to the following when it failed to do so. Failed to search in directory [/app-config/] for files matching pattern [**]: java.nio.file.NoSuchFileException: /app-config/ To avoid unnecessary attempts to search a nonexistent directory, PathMatchingResourcePatternResolver now skips searching of a nonexistent directory and preemptively logs an INFO message similar to the following. Skipping search for files matching pattern [**]: directory [/app-config] does not exist Closes gh-31111
This commit is contained in:
@@ -792,6 +792,14 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol
|
||||
rootPath = Path.of(rootDirResource.getFile().getAbsolutePath());
|
||||
}
|
||||
|
||||
if (!Files.exists(rootPath)) {
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("Skipping search for files matching pattern [%s]: directory [%s] does not exist"
|
||||
.formatted(subPattern, rootPath.toAbsolutePath()));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
String rootDir = StringUtils.cleanPath(rootPath.toString());
|
||||
if (!rootDir.endsWith("/")) {
|
||||
rootDir += "/";
|
||||
|
||||
Reference in New Issue
Block a user