Author: andre
Date: 2010-04-19 12:54:11 +0200 (Mon, 19 Apr 2010)
New Revision: 41948
Modified:
mmbase/branches/MMBase-1_9/applications/crontab/src/main/java/org/mmbase/applications/crontab/MemoryWarner.java
Log:
added an email address check to chech upon the contructed address: on some
systems when not a valid address its message won't be mailed
Modified:
mmbase/branches/MMBase-1_9/applications/crontab/src/main/java/org/mmbase/applications/crontab/MemoryWarner.java
===================================================================
---
mmbase/branches/MMBase-1_9/applications/crontab/src/main/java/org/mmbase/applications/crontab/MemoryWarner.java
2010-04-19 09:55:28 UTC (rev 41947)
+++
mmbase/branches/MMBase-1_9/applications/crontab/src/main/java/org/mmbase/applications/crontab/MemoryWarner.java
2010-04-19 10:54:11 UTC (rev 41948)
@@ -12,6 +12,7 @@
import org.mmbase.util.logging.*;
import java.text.NumberFormat;
import java.util.Locale;
+import java.util.regex.Pattern;
/**
* Performs Runtime.gc(), and if afterwards the used memory is above a certain
fraction of the
@@ -51,7 +52,12 @@
if (cloud.hasNodeManager("email")) {
NodeManager email = cloud.getNodeManager("email");
Node message = email.createNode();
- message.setValue("from", "memorywarner@" +
java.net.InetAddress.getLocalHost().getHostName());
+ String from = "memorywarner@" +
java.net.InetAddress.getLocalHost().getHostName();
+ Pattern p =
Pattern.compile("(?i)\\A[A-Z0-9_\\-\\+\\&\\*\\#]+([\\.-]?[A-Z0-9_\\-\\+\\&\\*\\#])*@([A-Z0-9_-]{2,}[\\.]{1})+([A-Z]{2,})\\z");
+ if (! p.matcher(from).matches()) { // email not valid,
use 'to' address
+ from = config[1];
+ }
+ message.setValue("from", from);
message.setValue("to", config[1]);
message.setValue("subject", "Out of memory warning: more
than " + limitPerc + " in use, for " +
org.mmbase.module.core.MMBaseContext.getHtmlRootUrlPath() + "@" +
@@ -62,10 +68,12 @@
Parameters params = mail.createParameters();
params.set("type", "oneshot");
mail.getFunctionValue(params);
+ log.info("Used memory over " + limitPerc + " , mailed: " +
config[1] + " (from: " + from + ")");
} else {
log.warn("No mail builder installed");
// could introduce depedency on java-mail here.
}
+
} else {
log.info("Memory use " + usePerc + " < " + limitPerc);
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs