-
Feature Request
-
Resolution: Done
-
Major
-
None
-
None
-
None
TempFileProvider has:
static { String configTmpDir = System.getProperty(JBOSS_TMP_DIR_PROPERTY); if (configTmpDir == null) configTmpDir = System.getProperty(JVM_TMP_DIR_PROPERTY); try { TMP_ROOT = new File(configTmpDir, "vfs"); TMP_ROOT.mkdirs(); } catch (Exception e) { throw new RuntimeException("Can't set up temp file provider", e); } }
This does its job fine when VM starts, but if something removes the directory, ie. as part of cleanup, provider stops, since createTempDir:
private static File createTempDir(String prefix, String suffix, File root) throws IOException { for (int i = 0; i < RETRIES; i++) { final File f = new File(root, createTempName(prefix, suffix)); if (f.mkdir()) return f; } throw new IOException( String.format("Could not create directory for root '%s' (prefix '%s', suffix '%s') after %d attempts", root, prefix, suffix, RETRIES)); }
So either the static init is removed and performed for each provider( in constructor or better, in some kind of init() meethod ) or createTempDir calls File.mkdirs()
- blocks
-
WFLY-166 Clearing server environment in bootstrap breaks embedded server restart
- Closed