It is redundant.

You could always do this by naming your file
something the URLDeploymentScanner ignored then
renaming it.

Rename is an atomic operation on any filesystem.

On Mon, 2006-04-17 at 10:44 -0400, Andrew Oliver wrote:
> BTW Adrian,
> 
> <parody>
> I did in fact discuss it and no one said much in reply.  Perhaps if 
> you'd read the forum posts more closely, I would not have to repeat 
> myself here.
> </parody>
> 
> So if it is needed for 5.0 I'll port it there.  I think it might be 
> useful for that profile service thingy.  If not, then I won't.
> 
> peace,
> 
> Andy
> 
> Andrew Oliver wrote:
> > *gives adrian a big hug and kiss*
> > 
> > :-*
> > 
> > Next thing you'll be wanting me to try compiling things first before I 
> > check them in...  sheesh.
> > 
> > 
> > Adrian Brock wrote:
> >> Congratulations on:
> >>
> >> 1) Not discussing this change before implementing it.
> >> 2) Raising a JIRA task to document it.
> >> 3) Porting it to jboss-head so it doesn't get lost
> >>
> >> On Sun, 2006-04-16 at 20:29 -0400, Andy Oliver wrote:
> >>>   User: acoliver
> >>>   Date: 06/04/16 20:29:00
> >>>
> >>>   Modified:    src/main/org/jboss/deployment/scanner   Tag: Branch_4_0
> >>>                         URLDeploymentScanner.java
> >>>                         URLDeploymentScannerMBean.java
> >>>   Log:
> >>>   Add abillity to ignore a file while it is being updated and then 
> >>> re-attend to it   once it is updated (assuming that some other 
> >>> service will attend to bringing the   runtime in sync without 
> >>> re-deployment)
> >>>     Revision  Changes    Path
> >>>   No                   revision
> >>>       No                   revision
> >>>       1.32.2.6  +81 -11    
> >>> jboss-system/src/main/org/jboss/deployment/scanner/URLDeploymentScanner.java
> >>>  
> >>>
> >>>     (In the diff below, changes in quantity of whitespace are not 
> >>> shown.)
> >>>     Index: URLDeploymentScanner.java
> >>>   ===================================================================
> >>>   RCS file: 
> >>> /cvsroot/jboss/jboss-system/src/main/org/jboss/deployment/scanner/URLDeploymentScanner.java,v
> >>>  
> >>>
> >>>   retrieving revision 1.32.2.5
> >>>   retrieving revision 1.32.2.6
> >>>   diff -u -b -r1.32.2.5 -r1.32.2.6
> >>>   --- URLDeploymentScanner.java    29 Oct 2005 05:06:09 -0000    
> >>> 1.32.2.5
> >>>   +++ URLDeploymentScanner.java    17 Apr 2006 00:29:00 -0000    
> >>> 1.32.2.6
> >>>   @@ -56,12 +56,14 @@
> >>>     *
> >>>     * @jmx:mbean 
> >>> extends="org.jboss.deployment.scanner.DeploymentScannerMBean"
> >>>     *
> >>>   - * @version <tt>$Revision: 1.32.2.5 $</tt>
> >>>   + * @version <tt>$Revision: 1.32.2.6 $</tt>
> >>>     * @author  <a href="mailto:[EMAIL PROTECTED]">Jason Dillon</a>
> >>>     */
> >>>    public class URLDeploymentScanner extends AbstractDeploymentScanner
> >>>       implements DeploymentScanner, URLDeploymentScannerMBean
> >>>    {
> >>>   +   /** The list of URLs to skip **/
> >>>   +   protected List skipList = Collections.synchronizedList(new 
> >>> ArrayList());
> >>>       /** The list of URLs to scan. */
> >>>       protected List urlList = Collections.synchronizedList(new 
> >>> ArrayList());
> >>>      @@ -251,6 +253,66 @@
> >>>          return urlList.contains(url);
> >>>       }
> >>>      +   /**
> >>>   +    * You can ask the deployment scanner NOT to update a URL that 
> >>> you are   +    * about to change.  This must be the same as the 
> >>> actual deployment URL and
> >>>   +    * not the minor watchURL (deployment descriptor).  This 
> >>> operation ADDs a
> >>>   +    * url to the list of "not" urls.  The actual time/datestamp of 
> >>> the deployed
> >>>   +    * url will be modified to reflect the timestamp as if the url 
> >>> were actually
> >>>   +    * deployed the first time scan is called either 
> >>> programmatically as an   +    * mbean operation call or during normal 
> >>> temporal operations.  Note that this
> >>>   +    * only affects UPDATES (redeploy) not undeploy or 
> >>> deploy(obviously).
> >>>   +    *
> >>>   +    * @jmx:managed-operation
> >>>   +    */
> >>>   +   public void addNotURL(final URL url)   +   {  //ACO wuz here
> >>>   +      if (url == null)
> >>>   +         throw new NullArgumentException("url");
> >>>   +      if (!skipList.contains(url))   +      {
> >>>   +         skipList.add(url);
> >>>   +      }   +   }
> >>>   +
> >>>   +   /**
> >>>   +    * removes a url from the list of urls NOT to update.  Make 
> >>> sure that you
> >>>   +    * call scan before removing urls or if the scan window is wide 
> >>> enough the   +    * timestamp may not get updated.  (the scan window 
> >>> IS wide enough by default)
> >>>   +    *
> >>>   +    * @jmx:managed-operation
> >>>   +    */
> >>>   +   public void removeNotURL(final URL url)   +   {  //ACO wuz here
> >>>   +      if (url == null)
> >>>   +         throw new NullArgumentException("url");
> >>>   +      if (skipList.contains(url))   +      {
> >>>   +         skipList.remove(url);
> >>>   +      }
> >>>   +   }
> >>>   +
> >>>   +   /**
> >>>   +    * list all deployed urls for this deployment scanner instance 
> >>> in a big comma   +    * and carriage return seperated list
> >>>   +    *
> >>>   +    * @jmx:managed-operation
> >>>   +    */
> >>>   +   public String listDeployed() {
> >>>   +      String retval = "";
> >>>   +      Iterator i = deployedSet.iterator();
> >>>   +      while (i.hasNext()) {
> >>>   +          String url = i.next().toString();
> >>>   +          if (!retval.equals("")) {
> >>>   +              retval += ",\n"+url;
> >>>   +          }   +          else   +          {
> >>>   +              retval += url;
> >>>   +          }
> >>>   +      }
> >>>   +      return retval;
> >>>   +   }
> >>>          
> >>> ///////////////////////////////////////////////////////////////////////// 
> >>>
> >>>       //                  Management/Configuration 
> >>> Helpers                   //
> >>>   @@ -331,8 +393,15 @@
> >>>          }
> >>>          try
> >>>          {
> >>>   +         if(!skipList.contains(du.url))   +         {
> >>>             deployer.deploy(du.url);
> >>>          }
> >>>   +         else   +         {
> >>>   +             du.deployed();
> >>>   +         }
> >>>   +      }
> >>>          catch (IncompleteDeploymentException e)
> >>>          {
> >>>             lastIncompleteDeploymentException = e;
> >>>   @@ -361,7 +430,10 @@
> >>>             {
> >>>                log.trace("Undeploying: " + du);
> >>>             }
> >>>   +         if (!skipList.contains(du.url))   +         {
> >>>             deployer.undeploy(du.url);
> >>>   +         }
> >>>             deployedSet.remove(du);
> >>>          }
> >>>          catch (Exception e)
> >>>   @@ -606,7 +678,8 @@
> >>>       protected class DeployedURL
> >>>       {
> >>>          public URL url;
> >>>   -      public URL watchUrl;
> >>>   +      public URL watchUrl;  // the url to watch to decide if we 
> >>> need to redeploy
> >>>   +                            // usually the deployment descriptor
> >>>          public long deployedLastModified;
> >>>             public DeployedURL(final URL url)
> >>>   @@ -642,11 +715,7 @@
> >>>          {
> >>>             if (watchUrl == null)
> >>>             {
> >>>   -            //
> >>>   -            // jason: getWatchUrl() is not part of Deployer 
> >>> interface.. wtf is this?
> >>>   -            //
> >>>   -            try
> >>>   -            {
> >>>   +            try {
> >>>                   Object o = getServer().invoke(getDeployer(), 
> >>> "getWatchUrl",
> >>>                   new Object[] { url },
> >>>                   new String[] { URL.class.getName() });
> >>>   @@ -666,7 +735,8 @@
> >>>                if (watchUrl != null)
> >>>                {
> >>>                   connection = watchUrl.openConnection();
> >>>   -            } else
> >>>   +            }   +            else
> >>>                {
> >>>                   connection = url.openConnection();
> >>>                }
> >>>         1.4.2.4   +25 -0     
> >>> jboss-system/src/main/org/jboss/deployment/scanner/URLDeploymentScannerMBean.java
> >>>  
> >>>
> >>>     (In the diff below, changes in quantity of whitespace are not 
> >>> shown.)
> >>>     Index: URLDeploymentScannerMBean.java
> >>>   ===================================================================
> >>>   RCS file: 
> >>> /cvsroot/jboss/jboss-system/src/main/org/jboss/deployment/scanner/URLDeploymentScannerMBean.java,v
> >>>  
> >>>
> >>>   retrieving revision 1.4.2.3
> >>>   retrieving revision 1.4.2.4
> >>>   diff -u -b -r1.4.2.3 -r1.4.2.4
> >>>   --- URLDeploymentScannerMBean.java    29 Oct 2005 05:06:09 -0000    
> >>> 1.4.2.3
> >>>   +++ URLDeploymentScannerMBean.java    17 Apr 2006 00:29:00 -0000    
> >>> 1.4.2.4
> >>>   @@ -59,10 +59,35 @@
> >>>          void addURL(java.lang.String urlspec) throws 
> >>> java.net.MalformedURLException;
> >>>      +   /**        +    * You can ask the deployment scanner NOT to 
> >>> update a URL that you are
> >>>   +    * about to change.  This must be the same as the actual 
> >>> deployment URL and
> >>>   +    * not the minor watchURL (deployment descriptor).  This 
> >>> operation ADDs a
> >>>   +    * url to the list of "not" urls.  The actual time/datestamp of 
> >>> the deployed
> >>>   +    * url will be modified to reflect the timestamp as if the url 
> >>> were actually
> >>>   +    * deployed the first time scan is called either 
> >>> programmatically as an
> >>>   +    * mbean operation call or during normal temporal operations.  
> >>> Note that this
> >>>   +    * only affects UPDATES (redeploy) not undeploy or 
> >>> deploy(obviously).
> >>>   +    */        +   void addNotURL(java.net.URL url);
> >>>   +
> >>>   +   /**   +    * removes a url from the list of urls NOT to 
> >>> update.  Make sure that you
> >>>   +    * call scan before removing urls or if the scan window is wide 
> >>> enough the
> >>>   +    * timestamp may not get updated.  (the scan window IS wide 
> >>> enough by default)
> >>>   +    */
> >>>   +   public void removeNotURL(java.net.URL url);
> >>>   +
> >>>       void removeURL(java.lang.String urlspec) throws 
> >>> java.net.MalformedURLException;
> >>>          boolean hasURL(java.lang.String urlspec) throws 
> >>> java.net.MalformedURLException;
> >>>      +   /**
> >>>   +    * list all deployed urls for this deployment scanner instance 
> >>> in a big comma
> >>>   +    * and carriage return seperated list
> >>>   +    */
> >>>   +   public String listDeployed();   +
> >>>       void scan() throws java.lang.Exception;
> >>>       }
> >>>      
> >>>
> >>> -------------------------------------------------------
> >>> This SF.Net email is sponsored by xPML, a groundbreaking scripting 
> >>> language
> >>> that extends applications into web and mobile media. Attend the live 
> >>> webcast
> >>> and join the prime developer group breaking into this new coding 
> >>> territory!
> >>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
> >>> _______________________________________________
> >>> jboss-cvs-commits mailing list
> >>> [EMAIL PROTECTED]
> >>> https://lists.sourceforge.net/lists/listinfo/jboss-cvs-commits
> > 
> > 
> > 
> 
> 
-- 
xxxxxxxxxxxxxxxxxxxxxxxx
Adrian Brock
Chief Scientist
JBoss Inc.
xxxxxxxxxxxxxxxxxxxxxxxx



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
JBoss-Development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to