Guys,
I've just been refactoring some of the Jetty stuff, and it works fine except for one thing. The second undeploy/deploy (of the plugin) cycle barfs out trying to destroy Jetty with an IllegalAccessError..... 23:59:31,861 INFO [MainDeployer] Undeploying file:/home/jules/cvs/JBoss/3.0/build/output/jboss-3.0.0beta2/deploy/jetty-plugin.sar 23:59:31,863 INFO [JettyService] Stopping 23:59:31,867 INFO [Jetty] Stopped org.jboss.jetty.Jetty@7b40fe 23:59:31,867 INFO [JettyService] Stopped 23:59:31,868 INFO [MainDeployer] not deleting localUrl, it is null or not a copy: njar:file:/home/jules/cvs/JBoss/3.0/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/home/jules/cvs/JBoss/3.0/build/output/jboss-3.0.0beta2/deploy/jetty-plugin.sar/58.jetty-plugin.sar^/org.mortbay.jetty.jmx.jar 23:59:31,869 INFO [MainDeployer] Undeployed njar:file:/home/jules/cvs/JBoss/3.0/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/home/jules/cvs/JBoss/3.0/build/output/jboss-3.0.0beta2/deploy/jetty-plugin.sar/58.jetty-plugin.sar^/org.mortbay.jetty.jmx.jar 23:59:31,870 INFO [MainDeployer] not deleting localUrl, it is null or not a copy: njar:file:/home/jules/cvs/JBoss/3.0/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/home/jules/cvs/JBoss/3.0/build/output/jboss-3.0.0beta2/deploy/jetty-plugin.sar/58.jetty-plugin.sar^/org.mortbay.jetty.jar 23:59:31,880 INFO [MainDeployer] Undeployed njar:file:/home/jules/cvs/JBoss/3.0/build/output/jboss-3.0.0beta2/server/default/tmp/deploy/home/jules/cvs/JBoss/3.0/build/output/jboss-3.0.0beta2/deploy/jetty-plugin.sar/58.jetty-plugin.sar^/org.mortbay.jetty.jar 23:59:31,882 INFO [JettyService] Destroying 23:59:31,904 ERROR [JettyService] could not destroy Jetty java.lang.IllegalAccessError: try to access method org.mortbay.http.HttpServer$ComponentEvent.<init>(Lorg/mortbay/http/HttpServer;Ljava/lang/Object;Lorg/mortbay/http/HttpServer$1;)V from class org.mortbay.http.HttpServer at org.mortbay.http.HttpServer.destroy(HttpServer.java:1231) at org.jboss.jetty.JettyService.destroyService(JettyService.java:228) at org.jboss.system.ServiceMBeanSupport.destroy(ServiceMBeanSupport.java:228) at java.lang.reflect.Method.invoke(Native Method) at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628) at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:720) at $Proxy0.destroy(Unknown Source) at org.jboss.system.ServiceController.destroy(ServiceController.java:420) at java.lang.reflect.Method.invoke(Native Method) at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628) at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523) at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:73) at $Proxy3.destroy(Unknown Source) at org.jboss.deployment.SARDeployer.destroy(SARDeployer.java:555) at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:386) at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:324) at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:290) at java.lang.reflect.Method.invoke(Native Method) at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628) at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523) at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:73) at $Proxy2.undeploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:317) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:399) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:190) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:179) The Jetty code is simply trying to construct an instance of an inner class, an event, to notify listeners of it's destruction : if (_eventListeners!=null) { ComponentEvent event = new ComponentEvent(o); // <-- HERE for(int i=0;i<_eventListeners.size();i++) { EventListener listener = (EventListener)_eventListeners.get(i); if (listener instanceof ComponentEventListener) ((ComponentEventListener)listener).removeComponent(event); } } I've had a look around for : 1. statics that might be causing a problem 2. any other deployed copies of jetty that might contain mismatched versions of the class could not find anything. N.B. I am not changing any classes when this problem occurs - no APIs have been altered. I figure this must be a nasty side-effect of some exotic class-loading that is going on. I am running on HEAD from last night, Sun 1.3.1, Linux. I shall try a couple of other JVMs and see if I can get more sense out of them. If anyone has any idea what could be causing this I would like to hear from them, as Idon't want to check back my changes until I resolve this problem. Thanks for your time, Guys, Jules _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development