You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2010/05/01 19:44:27 UTC
svn commit: r940089 - in /tomcat/trunk/java/org/apache/catalina/loader:
LocalStrings.properties WebappLoader.java
Author: markt
Date: Sat May 1 17:44:26 2010
New Revision: 940089
URL: http://svn.apache.org/viewvc?rev=940089&view=rev
Log:
Remove the controller - MBean registration will always happen in init()/destroy() after Lifecycle refactoring
Fix a handful of Eclipse/FindBugs warnings
Modified:
tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
Modified: tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties?rev=940089&r1=940088&r2=940089&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties Sat May 1 17:44:26 2010
@@ -65,4 +65,5 @@ webappLoader.starting=Starting this Load
webappLoader.stopping=Stopping this Loader
webappLoader.failModifiedCheck=Error tracking modifications
webappLoader.copyFailure=Failed to copy resources
+webappLoader.mkdirFailure=Failed to create destination directory to copy resources
webappLoader.namingFailure=Failed to access resource {0}
Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java?rev=940089&r1=940088&r2=940089&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java Sat May 1 17:44:26 2010
@@ -271,8 +271,8 @@ public class WebappLoader extends Lifecy
boolean oldDelegate = this.delegate;
this.delegate = delegate;
- support.firePropertyChange("delegate", new Boolean(oldDelegate),
- new Boolean(this.delegate));
+ support.firePropertyChange("delegate", Boolean.valueOf(oldDelegate),
+ Boolean.valueOf(this.delegate));
}
@@ -332,8 +332,8 @@ public class WebappLoader extends Lifecy
boolean oldReloadable = this.reloadable;
this.reloadable = reloadable;
support.firePropertyChange("reloadable",
- new Boolean(oldReloadable),
- new Boolean(this.reloadable));
+ Boolean.valueOf(oldReloadable),
+ Boolean.valueOf(this.reloadable));
}
@@ -542,7 +542,6 @@ public class WebappLoader extends Lifecy
oname=new ObjectName(ctx.getEngineName() + ":type=Loader,path=" +
path + ",host=" + ctx.getParent().getName());
Registry.getRegistry(null, null).registerComponent(this, oname, null);
- controller=oname;
} catch (Exception e) {
log.error("Error registering loader", e );
}
@@ -558,11 +557,8 @@ public class WebappLoader extends Lifecy
@Override
protected void destroyInternal() {
- if( controller==oname ) {
- // Self-registration, undo it
- Registry.getRegistry(null, null).unregisterComponent(oname);
- oname = null;
- }
+ Registry.getRegistry(null, null).unregisterComponent(oname);
+ oname = null;
}
/**
@@ -813,6 +809,7 @@ public class WebappLoader extends Lifecy
String path = libDir.getCanonicalPath();
classLoader.addPermission(path);
} catch (IOException e) {
+ // Ignore
}
}
@@ -825,6 +822,7 @@ public class WebappLoader extends Lifecy
String path = libDir.getCanonicalPath();
classLoader.addPermission(path);
} catch (IOException e) {
+ // Ignore
}
}
if (classesURL != null) {
@@ -833,6 +831,7 @@ public class WebappLoader extends Lifecy
String path = classesDir.getCanonicalPath();
classLoader.addPermission(path);
} catch (IOException e) {
+ // Ignore
}
}
}
@@ -840,6 +839,7 @@ public class WebappLoader extends Lifecy
}
} catch (MalformedURLException e) {
+ // Ignore
}
}
@@ -903,7 +903,9 @@ public class WebappLoader extends Lifecy
} else {
classRepository = new File(workDir, classesPath);
- classRepository.mkdirs();
+ if (!classRepository.mkdirs())
+ throw new IOException(
+ sm.getString("webappLoader.mkdirFailure"));
if (!copyDir(classes, classRepository)) {
throw new IOException(
sm.getString("webappLoader.copyFailure"));
@@ -951,7 +953,9 @@ public class WebappLoader extends Lifecy
} else {
copyJars = true;
destDir = new File(workDir, libPath);
- destDir.mkdirs();
+ if (!destDir.mkdirs())
+ throw new IOException(
+ sm.getString("webappLoader.mkdirFailure"));
}
// Looking up directory /WEB-INF/lib in the context
@@ -1056,7 +1060,6 @@ public class WebappLoader extends Lifecy
String cp=getClasspath( loader );
if( cp==null ) {
log.info( "Unknown loader " + loader + " " + loader.getClass());
- break;
} else {
if (n > 0)
classpath.append(File.pathSeparator);
@@ -1141,7 +1144,8 @@ public class WebappLoader extends Lifecy
if (!copy((InputStream) object, os))
return false;
} else if (object instanceof DirContext) {
- currentFile.mkdir();
+ if (!currentFile.mkdir())
+ return false;
if (!copyDir((DirContext) object, currentFile))
return false;
}
@@ -1187,7 +1191,6 @@ public class WebappLoader extends Lifecy
org.apache.juli.logging.LogFactory.getLog( WebappLoader.class );
private ObjectName oname;
- private ObjectName controller;
public ObjectName preRegister(MBeanServer server,
ObjectName name) throws Exception {
@@ -1196,20 +1199,14 @@ public class WebappLoader extends Lifecy
}
public void postRegister(Boolean registrationDone) {
+ // NOOP
}
public void preDeregister() throws Exception {
+ // NOOP
}
public void postDeregister() {
+ // NOOP
}
-
- public ObjectName getController() {
- return controller;
- }
-
- public void setController(ObjectName controller) {
- this.controller = controller;
- }
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r940089 - in /tomcat/trunk/java/org/apache/catalina/loader: LocalStrings.properties WebappLoader.java
Posted by Sylvain Laurent <sy...@m4x.org>.
I think that this commit broke the ability to stop and start a context. When I start it after having stopped it, I get a
LifecycleException: An invalid Lifecycle transition was attempted ([before_start]) for component [WebappLoader[/testWeb]] in state [DESTROYED]
Sylvain
On 1 mai 2010, at 19:44, markt@apache.org wrote:
> Author: markt
> Date: Sat May 1 17:44:26 2010
> New Revision: 940089
>
> URL: http://svn.apache.org/viewvc?rev=940089&view=rev
> Log:
> Remove the controller - MBean registration will always happen in init()/destroy() after Lifecycle refactoring
> Fix a handful of Eclipse/FindBugs warnings
>
> Modified:
> tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
> tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
>
> Modified: tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
> URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties?rev=940089&r1=940088&r2=940089&view=diff
> ==============================================================================
> --- tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties (original)
> +++ tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties Sat May 1 17:44:26 2010
> @@ -65,4 +65,5 @@ webappLoader.starting=Starting this Load
> webappLoader.stopping=Stopping this Loader
> webappLoader.failModifiedCheck=Error tracking modifications
> webappLoader.copyFailure=Failed to copy resources
> +webappLoader.mkdirFailure=Failed to create destination directory to copy resources
> webappLoader.namingFailure=Failed to access resource {0}
>
> Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
> URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java?rev=940089&r1=940088&r2=940089&view=diff
> ==============================================================================
> --- tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java (original)
> +++ tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java Sat May 1 17:44:26 2010
> @@ -271,8 +271,8 @@ public class WebappLoader extends Lifecy
>
> boolean oldDelegate = this.delegate;
> this.delegate = delegate;
> - support.firePropertyChange("delegate", new Boolean(oldDelegate),
> - new Boolean(this.delegate));
> + support.firePropertyChange("delegate", Boolean.valueOf(oldDelegate),
> + Boolean.valueOf(this.delegate));
>
> }
>
> @@ -332,8 +332,8 @@ public class WebappLoader extends Lifecy
> boolean oldReloadable = this.reloadable;
> this.reloadable = reloadable;
> support.firePropertyChange("reloadable",
> - new Boolean(oldReloadable),
> - new Boolean(this.reloadable));
> + Boolean.valueOf(oldReloadable),
> + Boolean.valueOf(this.reloadable));
>
> }
>
> @@ -542,7 +542,6 @@ public class WebappLoader extends Lifecy
> oname=new ObjectName(ctx.getEngineName() + ":type=Loader,path=" +
> path + ",host=" + ctx.getParent().getName());
> Registry.getRegistry(null, null).registerComponent(this, oname, null);
> - controller=oname;
> } catch (Exception e) {
> log.error("Error registering loader", e );
> }
> @@ -558,11 +557,8 @@ public class WebappLoader extends Lifecy
>
> @Override
> protected void destroyInternal() {
> - if( controller==oname ) {
> - // Self-registration, undo it
> - Registry.getRegistry(null, null).unregisterComponent(oname);
> - oname = null;
> - }
> + Registry.getRegistry(null, null).unregisterComponent(oname);
> + oname = null;
> }
>
> /**
> @@ -813,6 +809,7 @@ public class WebappLoader extends Lifecy
> String path = libDir.getCanonicalPath();
> classLoader.addPermission(path);
> } catch (IOException e) {
> + // Ignore
> }
> }
>
> @@ -825,6 +822,7 @@ public class WebappLoader extends Lifecy
> String path = libDir.getCanonicalPath();
> classLoader.addPermission(path);
> } catch (IOException e) {
> + // Ignore
> }
> }
> if (classesURL != null) {
> @@ -833,6 +831,7 @@ public class WebappLoader extends Lifecy
> String path = classesDir.getCanonicalPath();
> classLoader.addPermission(path);
> } catch (IOException e) {
> + // Ignore
> }
> }
> }
> @@ -840,6 +839,7 @@ public class WebappLoader extends Lifecy
> }
>
> } catch (MalformedURLException e) {
> + // Ignore
> }
>
> }
> @@ -903,7 +903,9 @@ public class WebappLoader extends Lifecy
> } else {
>
> classRepository = new File(workDir, classesPath);
> - classRepository.mkdirs();
> + if (!classRepository.mkdirs())
> + throw new IOException(
> + sm.getString("webappLoader.mkdirFailure"));
> if (!copyDir(classes, classRepository)) {
> throw new IOException(
> sm.getString("webappLoader.copyFailure"));
> @@ -951,7 +953,9 @@ public class WebappLoader extends Lifecy
> } else {
> copyJars = true;
> destDir = new File(workDir, libPath);
> - destDir.mkdirs();
> + if (!destDir.mkdirs())
> + throw new IOException(
> + sm.getString("webappLoader.mkdirFailure"));
> }
>
> // Looking up directory /WEB-INF/lib in the context
> @@ -1056,7 +1060,6 @@ public class WebappLoader extends Lifecy
> String cp=getClasspath( loader );
> if( cp==null ) {
> log.info( "Unknown loader " + loader + " " + loader.getClass());
> - break;
> } else {
> if (n > 0)
> classpath.append(File.pathSeparator);
> @@ -1141,7 +1144,8 @@ public class WebappLoader extends Lifecy
> if (!copy((InputStream) object, os))
> return false;
> } else if (object instanceof DirContext) {
> - currentFile.mkdir();
> + if (!currentFile.mkdir())
> + return false;
> if (!copyDir((DirContext) object, currentFile))
> return false;
> }
> @@ -1187,7 +1191,6 @@ public class WebappLoader extends Lifecy
> org.apache.juli.logging.LogFactory.getLog( WebappLoader.class );
>
> private ObjectName oname;
> - private ObjectName controller;
>
> public ObjectName preRegister(MBeanServer server,
> ObjectName name) throws Exception {
> @@ -1196,20 +1199,14 @@ public class WebappLoader extends Lifecy
> }
>
> public void postRegister(Boolean registrationDone) {
> + // NOOP
> }
>
> public void preDeregister() throws Exception {
> + // NOOP
> }
>
> public void postDeregister() {
> + // NOOP
> }
> -
> - public ObjectName getController() {
> - return controller;
> - }
> -
> - public void setController(ObjectName controller) {
> - this.controller = controller;
> - }
> -
> }
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org