As a Tomcat user, I was trying to figure out deployment via the manager web app. I was using Ant (1.6.5), and the 'config' attribute specifying the context .xml file. I was under the impression that the config attribute described the .xml file as installed at Tomcat startup, e.g.

<target name="deploy.bad" description="Install UWME web application">
        <deploy url="${vhost}/manager"
                username="${user}"
                password="${pwd}"
                path="${uwme.path}"
config="file:/usr/java/jakarta-tomcat-5.5.9/conf/Catalina/localhost/uwme.xml"
                update="false"/>

This kept failing, (version = 5.5.9, OS is RHEL3, VM is Sun's 1.4.2_03), and the .xml file kept getting truncated to 0 bytes???

Being an interested developer, I looked in the sources for class org.apache.catalina.manager.ManagerServlet, the servlet mapped to /manager/deploy.

At some point in deploy() it tries to do a copy from one file to another (aimed at directory copies??) In my example, the src and destination file were resolving to the same file. The 'copyInternal' routine does indeed truncate the file, I tested just that method with src and dest files of the same absolute path.

Of course, if I went back and changed the config attibute in the Ant task to some local context file, e.g. /tmp/uwme.xml, it all deployed fine.

Maybe the help pages for the manager web app should point out that you don't specify an in-place (conf/engine/host/) context .xml file, but one which will be copied into the in-place dir.

Hope this helps someone at least.

Stuart Maclean

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to