FYI, starting deployment before a JAR/WAR/EAR/SAR has finished copying is unfortunately routine among app servers. JBoss at least is smart enough to retry deployment a few minutes later. Some app servers will actually corrupt the file and crash. And some will just give up.
Basically, what is happening that on a timed interval, the app servers are checking their deploy directories to see if anything needs to be redeployed. They don't check to see if a file copy is in progress. The app servers decide if something needs to be redeployed based on timestamps.
The behaviours I have observed in the past when a hot redeployment is attempted automatically by the server during the copy; JBoss 3.x - initial deployment fails, retries in 60/180 secs depending on configuration, retry normally succeeds Weblogic 6.x - deployment fails, file needs to be recopied, redeployment after successful copy normally succeeds iPlanet 4.x - automatic redeployment not supported, file must be uploaded through admin console Orion 1.x (Oracle 9iAS is based on this!) - deployment fails, file is corrupted, appserver crashes fatally. Server must be stopped, file must be recopied, Server must be restarted.
I have found the best way to handle a copy/deploy scenario was to copy the new file onto the destination system on the same partition as the deploy directory, and then execute a move when done. If the deploying file is large, you again run into these issues, hence the "move". This should probably be done by default, rather than an "option".
Regards, Steve
Michael Nash JGlobal.com wrote:
Minor change to support a solution to a deployment issue I hit once in a while: When doing a "hot-deploy" of a webapp to some servers (notably JBoss), the server will sometimes start to "un-jar" the war file before it's finished copying, resulting in a failed deployment. If you add a deploy.webapp.tmp property, the "deploy" process will copy the .war to that directory first, then "move" it to the final destination (which is just a rename, not a copy). This helps if you're deploying over an NFS share or something where the copy is slow. If you don't set the property, nothing is affected, it just deploys as before.
Michael Nash
JGlobal Ltd. http://www.jglobal.com
Bahamas Commerce and Trade http://www.bahamascommerce.com
http://keelframework.org/documentation Keelgroup mailing list [EMAIL PROTECTED] http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com
-- Java/J2EE Developer/Integrator Co-Chair, Dallas/FortWorth J2EE Sig 214-724-7741
http://keelframework.org/documentation Keelgroup mailing list [EMAIL PROTECTED] http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com
