[
https://issues.apache.org/jira/browse/CONFIGURATION-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Panagiotis Astithas updated CONFIGURATION-381:
----------------------------------------------
Attachment: commons-configuration-vfs.patch
Attached the patch for easier evaluation.
> Support automatic reloading for configuration files in JBoss VFS
> ----------------------------------------------------------------
>
> Key: CONFIGURATION-381
> URL: https://issues.apache.org/jira/browse/CONFIGURATION-381
> Project: Commons Configuration
> Issue Type: Improvement
> Components: File reloading
> Affects Versions: 1.6
> Reporter: Panagiotis Astithas
> Priority: Minor
> Attachments: commons-configuration-vfs.patch
>
>
> Using Commons Configuration with JBoss 5 presents problems when storing files
> in the JBoss directories and referencing them with relative paths. This
> applies to configuration files stored in the traditional spot for JBoss
> configuration, like JBOSS_HOME/server/default/conf/. More specifically, when
> FileChangedReloadingStrategy tries to resolve the file path it gets a
> vfsfile: URL from the JBoss-modified context classloader, that it can't
> parse. The following patch adds support for this URL scheme by fixing the
> resource URL to avoid VFS, and allows Commons Configuration to properly
> recognize file modifications in the file system.
> {code:title=FileChangedReloadingStrategy.java|borderStyle=solid}
> Index: FileChangedReloadingStrategy.java
> ===================================================================
> --- FileChangedReloadingStrategy.java (revision 764760)
> +++ FileChangedReloadingStrategy.java (working copy)
> @@ -46,6 +46,9 @@
> /** Constant for the jar URL protocol.*/
> private static final String JAR_PROTOCOL = "jar";
>
> + /** Constant for the JBoss MC VFSFile URL protocol.*/
> + private static final String VFSFILE_PROTOCOL = "vfsfile";
> +
> /** Constant for the default refresh delay.*/
> private static final int DEFAULT_REFRESH_DELAY = 5000;
>
> @@ -161,7 +164,8 @@
>
> /**
> * Helper method for transforming a URL into a file object. This method
> - * handles file: and jar: URLs.
> + * handles file: and jar: URLs, as well as JBoss VFS-specific vfsfile:
> + * URLs.
> *
> * @param url the URL to be converted
> * @return the resulting file or <b>null </b>
> @@ -181,6 +185,18 @@
> return null;
> }
> }
> + else if (VFSFILE_PROTOCOL.equals(url.getProtocol()))
> + {
> + String path = url.getPath();
> + try
> + {
> + return ConfigurationUtils.fileFromURL(new URL("file:" +
> path));
> + }
> + catch (MalformedURLException mex)
> + {
> + return null;
> + }
> + }
> else
> {
> return ConfigurationUtils.fileFromURL(url);
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.