[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