Index: system/src/main/org/jboss/system/server/profile/basic/AbstractPatternVirtualFileFilter.java
===================================================================
--- system/src/main/org/jboss/system/server/profile/basic/AbstractPatternVirtualFileFilter.java	(revision 92497)
+++ system/src/main/org/jboss/system/server/profile/basic/AbstractPatternVirtualFileFilter.java	(working copy)
@@ -23,6 +23,8 @@
 
 import java.util.regex.Pattern;
 
+import org.jboss.deployers.vfs.spi.structure.modified.AbstractPathNameFilter;
+import org.jboss.deployers.vfs.spi.structure.modified.StructureCacheFilter;
 import org.jboss.virtual.VirtualFile;
 import org.jboss.virtual.VirtualFileFilter;
 
@@ -31,7 +33,7 @@
  *
  * @author <a href="mailto:ales.justin@jboss.com">Ales Justin</a>
  */
-public abstract class AbstractPatternVirtualFileFilter implements VirtualFileFilter
+public abstract class AbstractPatternVirtualFileFilter extends AbstractPathNameFilter implements VirtualFileFilter
 {
    private Pattern pattern;
 
@@ -51,4 +53,19 @@
     * @return
     */
    protected abstract boolean doMatch();
+
+   /**
+    * @see StructureCacheFilter#accepts(String)
+    */
+   public boolean accepts(String path)
+   {
+      if (path == null)
+      {
+         return false;
+      }
+      // pattern match the path against our configured
+      // regext pattern
+      return pattern.matcher(path).find() == doMatch();
+   }
+   
 }
\ No newline at end of file
Index: server/src/etc/conf/default/bootstrap/profile.xml
===================================================================
--- server/src/etc/conf/default/bootstrap/profile.xml	(revision 92497)
+++ server/src/etc/conf/default/bootstrap/profile.xml	(working copy)
@@ -73,13 +73,34 @@
     <destroy method="flush"/>
   </bean>
 
+	<!--  A filter which controls the files that will be watched for changes for hot deployment 
+		By default a org.jboss.system.server.profile.basic.PatternIncludeVirtualFileFilter is
+		configured to allow flexible control over the files that can be watched for hot deployments.
+		This PatternIncludeVirtualFileFilter accepts a regular expression and matches it against
+		the file name(s) in the metadata locations (WEB-INF or META-INF) to decide whether the
+		change to such file(s) should trigger a redeployment of the application
+	-->
+	<bean name="ModificationCheckerFilter" class="org.jboss.system.server.profile.basic.PatternIncludeVirtualFileFilter">
+    		<constructor>
+    			<!-- Remember, the parameter is a regex so use the correct syntax
+				as below. Here we specify that we are interested in watching changes to
+				either application.xml, web.xml, ejb-jar.xml or jboss-service.xml (which are all
+				considered top level deployment descriptors) -->
+    			<parameter class="java.lang.String">^application.xml$|^web.xml$|^ejb-jar.xml$|^jboss-service.xml$</parameter>
+    		</constructor>
+	</bean>
   <!-- This just checks metadata locations -->
   <bean name="MetaDataStructureModificationChecker" class="org.jboss.deployers.vfs.spi.structure.modified.MetaDataStructureModificationChecker">
     <constructor>
       <parameter><inject bean="MainDeployer" /></parameter>
     </constructor>
+    
     <property name="cache"><inject bean="StructureModCache" /></property>
-    <property name="filter"><bean class="org.jboss.system.server.profile.basic.XmlIncludeVirtualFileFilter" /></property>
+    <!-- Note: The "cacheFilter" and the "filter" should both use the same filter instances
+    	to prevent a bug in the deployers. This will be fixed in later releases of AS-5
+    -->
+    <property name="cacheFilter"><inject bean="ModificationCheckerFilter"/></property>
+    <property name="filter"><inject bean="ModificationCheckerFilter"/></property>
   </bean>
 
   <!-- Synchs modifed files -->
Index: server/src/etc/conf/all/bootstrap/profile.xml
===================================================================
--- server/src/etc/conf/all/bootstrap/profile.xml	(revision 92497)
+++ server/src/etc/conf/all/bootstrap/profile.xml	(working copy)
@@ -82,13 +82,33 @@
     <destroy method="flush"/>
   </bean>
 
+	<!--  A filter which controls the files that will be watched for changes for hot deployment 
+		By default a org.jboss.system.server.profile.basic.PatternIncludeVirtualFileFilter is
+		configured to allow flexible control over the files that can be watched for hot deployments.
+		This PatternIncludeVirtualFileFilter accepts a regular expression and matches it against
+		the file name(s) in the metadata locations (WEB-INF or META-INF) to decide whether the
+		change to such file(s) should trigger a redeployment of the application
+	-->
+	<bean name="ModificationCheckerFilter" class="org.jboss.system.server.profile.basic.PatternIncludeVirtualFileFilter">
+    		<constructor>
+    			<!-- Remember, the parameter is a regex so use the correct syntax
+				as below. Here we specify that we are interested in watching changes to
+				either application.xml, web.xml, ejb-jar.xml or jboss-service.xml (which are all
+				considered top level deployment descriptors) -->
+    			<parameter class="java.lang.String">^application.xml$|^web.xml$|^ejb-jar.xml$|^jboss-service.xml$</parameter>
+    		</constructor>
+	</bean>
   <!-- This just checks metadata locations -->
   <bean name="MetaDataStructureModificationChecker" class="org.jboss.deployers.vfs.spi.structure.modified.MetaDataStructureModificationChecker">
     <constructor>
       <parameter><inject bean="MainDeployer" /></parameter>
     </constructor>
     <property name="cache"><inject bean="StructureModCache" /></property>
-    <property name="filter"><bean class="org.jboss.system.server.profile.basic.XmlIncludeVirtualFileFilter" /></property>
+    <!-- Note: The "cacheFilter" and the "filter" should both use the same filter instances
+    	to prevent a bug in the deployers. This will be fixed in later releases of AS-5
+    -->
+    <property name="cacheFilter"><inject bean="ModificationCheckerFilter"/></property>
+    <property name="filter"><inject bean="ModificationCheckerFilter"/></property>
   </bean>
 
   <!-- Synchs modifed files -->
