copy the file onto the same filesystem, then move it into deploy - this will be an immediate/atomic operation
Jules Greg Turner wrote: > When JBoss hot deploys something, it makes a copy into tmp and actually deploys > the copy in tmp. I am guessing that what happens is that when ftp starts > writing the file to the deploy directory, JBoss starts copying it to tmp before > ftp is done writing, therefore putting an incomplete copy in tmp, so JBoss tries > to deploy an incomplete and corrupt file. > > Here is two remedies: Instead of ftp the file from A to JBoss, set JBoss to > deploy from A. > Alternatively, use the jmx console to turn off hot deploy, then ftp the file, > then turn on hot deploy. > > > > Gene Ge wrote: > > >>Hello everyone: >> I really need your help and thanks at first! >> When I redeploy a war archive to server(which I have to >>do very frequently every day), using a ant's ftp task to transfer my war to >>the server, the server always gave following errors: >> >><!--------------------Error Message Begin------------------------> >>2002-10-05 16:21:47,109 ERROR >>[org.jboss.deployment.scanner.URLDeploymentScanner] Failed to deploy: >>org.jboss.deployment.scanner.URLDeploymentScanner$DeployedURL@1a8591eb{ >>url=file:/D:/Projects/jboss-3.0.1/server/default/deploy/BitJob.war, >>deployedLastModified=1033805851250 } >>org.jboss.deployment.DeploymentException: Could not create deployment: >>file:/D:/Projects/jboss-3.0.1/server/default/deploy/BitJob.war; - nested >>throwable: (java.lang.InternalError: jzentry == 0, >>jzfile = 194428400, >>total = 11, >>name = C:\Documents and Settings\Administrator\Local >>Settings\Temp\Jetty__8080___\webapp\WEB-INF\lib\jobUnitTest.jar, >>i = 10, >>message = invalid LOC header (bad signature)) >>at org.jboss.deployment.MainDeployer.start(MainDeployer.java:816) >>at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:616) >>at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:580) >>at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) >>at >> >>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl >>.java:25) >>at java.lang.reflect.Method.invoke(Method.java:324) >>at >> >>org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispat >>cher.java:284) >>at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491) >>at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174) >>at $Proxy4.deploy(Unknown Source) >>at >> >>org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanne >>r.java:427) >>at >> >>org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner. >>java:553) >>at >> >>org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(Ab >>stractDeploymentScanner.java:202)at >>org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(Abs >>tractDeploymentScanner.java:191) >>Caused by: java.lang.InternalError: jzentry == 0, >>jzfile = 194428400, >>total = 11, >>name = C:\Documents and Settings\Administrator\Local >>Settings\Temp\Jetty__8080___\webapp\WEB-INF\lib\jobUnitTest.jar, >>i = 10, >>message = invalid LOC header (bad signature) >>at java.util.zip.ZipFile$2.nextElement(ZipFile.java:303) >>at java.util.jar.JarFile$1.nextElement(JarFile.java:200) >>at >> >>org.apache.jasper.compiler.TldLocationsCache.tldConfigJar(TldLocationsCache. >>java:238) >>at >> >>org.apache.jasper.compiler.TldLocationsCache.processJars(TldLocationsCache.j >>ava:211) >>at >> >>org.apache.jasper.compiler.TldLocationsCache.<init>(TldLocationsCache.java:1 >>39) >>at >> >>org.apache.jasper.EmbededServletOptions.<init>(EmbededServletOptions.java:35 >>0) >>at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:265) >>at org.mortbay.jetty.servlet.ServletHolder.start(ServletHolder.java:208) >>at >> >>org.mortbay.jetty.servlet.ServletHandler.initializeServlets(ServletHandler.j >>ava:427) >>at >> >>org.mortbay.jetty.servlet.WebApplicationContext.start(WebApplicationContext. >>java:405) >>at org.jboss.jetty.Jetty.deploy(Jetty.java:409) >>at org.jboss.jetty.JettyService.performDeploy(JettyService.java:243) >>at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:300) >>at org.jboss.deployment.MainDeployer.start(MainDeployer.java:796) >>... 13 more >><------------------Error Message End----------------------------> >>These message would gone when I restart server(and it works well), >>obviously >>it's impossible for me to restart every time. >> >>What I did, which I think rising these errors, is just add one my custom >>jar >>archive, which only includs some junit test classes, in my applications' >>WEB-INF/lib. >> >>So thank for anyone giving me some ideas. I was really in the trouble. >> >>best regards >>Gene >> >>_________________________________________________________________ >>Chat with friends online, try MSN Messenger: http://messenger.msn.com >> >>------------------------------------------------------- >>This sf.net email is sponsored by:ThinkGeek >>Welcome to geek heaven. >>http://thinkgeek.com/sf >>_______________________________________________ >>JBoss-user mailing list >>[EMAIL PROTECTED] >>https://lists.sourceforge.net/lists/listinfo/jboss-user > > > -- > Greg Turner, JBoss Authorized Consultant > > Tiburon Enterprise Systems > http://www.tiburon-e-systems.com > Box 1171 > Tiburon, CA 94920 > 415-927-2543 > > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > JBoss-user mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-user ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user