Just use this link :-) www.adriansmemorysearch.org?type=LongTermRetrieval&query=URLDeploymentScanner+Forum+Posts
On Mon, 2006-04-17 at 11:03 -0400, Andrew Oliver wrote: > Oh cool. Can you repost those threads here? I must have missed them. > > Adrian Brock wrote: > > And you were ignored because there must be at least 100 > > previous threads where it was already discussed. > > > > Including me telling describing how to do it to somebody > > who never contributed it back. > > > > 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 > >>> > >>> > >> > > > > > ------------------------------------------------------- > 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 > JBoss-Development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jboss-development -- 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 JBoss-Development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-development