[jboss-jira] [JBoss JIRA] (JBVFS-185) Remove static initializers from TempFileProvider
Bartosz Baranowski (JIRA)
jira-events at lists.jboss.org
Wed Feb 20 09:14:57 EST 2013
Bartosz Baranowski created JBVFS-185:
----------------------------------------
Summary: Remove static initializers from TempFileProvider
Key: JBVFS-185
URL: https://issues.jboss.org/browse/JBVFS-185
Project: JBoss VFS
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Reporter: Bartosz Baranowski
Assignee: Bartosz Baranowski
Priority: Minor
TempFileProvider has:
{code}
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);
}
}
{code}
This does its job fine when VM starts, but if something removes the directory, ie. as part of cleanup, provider stops, since createTempDir:
{code}
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));
}
{code}
So either the static init is removed and performed for each provider( in constructor ) or createTempDir calls File.mkdirs()
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list