abdera-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pdk <pdks...@gmail.com>
Subject AbderaServlet Tomcat Undeploy problem
Date Mon, 28 Jul 2008 11:42:55 GMT
I've noticed a problem related to undeploying a servlet that uses
AbderaServlet and Tomcat.  The problem results in Tomcat not being
able to fully undeploy the servlet (leaves jars stranded in the
tomcat/webapps directory).

I've seen this behavior using both Tomcat 5.5.26 and also 6.0.14 on Windows.

Specifically, I package my application as a war that gets copied into
the webapps directory.  When I undeploy, I simply remove the war from
the directory.  Tomcat starts its undeploy cycle, and deletes most
files, but leaves some jars in the exploded WEB-INF/lib directory.  In
Tomcat 6, the following error gets printed to the log file:

     Could not clean fields for class
org.apache.abdera.spring.SpringAbderaServlet
      Java.lang.NoClassDefFoundError:
org.apache.abdera.protocol.servlet.AbderaServlet

(using org.apache.catalina.level = FINE in tomcat's log4j.properties)

In Tomcat 5.5, the error doesn't print, but the result is the same.

To reproduce this error, I have taken the example code provided in the
Abdera 0.4.0 examples\org\apache\abdera\examples\appserver\custom
directory, and packaged it along with some libraries, and deployment
descriptors into a war.  I changed the source package name to make it
easier to configure.

Using your example code demonstrates the problem, vs having to figure
out my code .  I tested this example using Tomcat 5.5, but not Tomcat
6.  I assume the above error would occur with Tomcat 6, but I'm not
sure.  The end result is the same – not a fully undeployed servlet.

You can deploy and delete the war, many times with Tomcat fully
deleting the exploded directory assuming the servlet hasn't been
accessed  To get it to a state that it won't fully undeploy, go to
http://localhost:8080/bongo/atom/123 before you undeploy.  That URL
shows an empty feed.  After access, the application won't undeploy
cleanly when you delete the war file.

I'm not sure what is causing this behavior, but I've never had this
problem with other war files that don't use Abdera.  I don't know a
lot about the servlet specs, so maybe there is something that I'm not
doing correctly, but again, I haven't had this problem with other
applications.

I've got a 5MB zipped example, but didn't want to flood everyone's
inbox with my example.  Is there a place I can upload the file to?  Or
email direct?

Thanks,
philip
Mime
View raw message