У меня возникла странная ошибка. Мой весь код Java работает без каких-либо проблем на моем ноутбуке (Windows 7), но когда я загрузить его на наш сервер (Linux), то я вижу следующее TOMCAT журнал:Исключение в потоке «ajp-bio-8009-exec-1»
Exception in thread "ajp-bio-8009-exec-1" java.lang.StackOverflowError
at java.lang.System.checkKey(System.java:831)
at java.lang.System.getProperty(System.java:705)
at sun.security.action.GetPropertyAction.run(GetPropertyAction.java:84)
at sun.security.action.GetPropertyAction.run(GetPropertyAction.java:49)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.PrintWriter.<init>(PrintWriter.java:116)
at java.io.PrintWriter.<init>(PrintWriter.java:100)
at mig.common.src.ErrorCheck.errorMsg(ErrorCheck.java:50)
at mig.common.src.SendEmail.send(SendEmail.java:71)
at mig.common.src.ErrorCheck.errorMsg(ErrorCheck.java:54)
at mig.common.src.SendEmail.send(SendEmail.java:71)
at mig.common.src.ErrorCheck.errorMsg(ErrorCheck.java:54)
at mig.common.src.SendEmail.send(SendEmail.java:71)
Вот мой ErrorCheck.errorMsg код:
public String errorMsg(String subject, Exception e){
String stackTrace = "";
try{
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
stackTrace = sw.toString();
stackTrace = stackTrace.replaceAll("\n","<br>"); SendEmail.send("[email protected]","[email protected]",subject,stackTrace);
pw.close();
pw = null;
sw.close();
sw = null;
System.gc();
}catch(Exception ex){
ex.printStackTrace();
}
return stackTrace;
}
Просьба сообщить.
Благодаря в ожидании
Вы правы, моя программа отправить по электронной почте, когда есть ошибка и в том случае, если есть ошибка электронная почта взлетает вверх. Этот процесс не находится в цикле, но написан в блоке исключений. если какое-либо исключение поймано, тогда мне будет отправлено письмо. Нет ни одного петли – Ghayel
Я думаю, проблема связана с методом errorMsg – Ghayel
@Ghayel Я написал цикл в кавычках, потому что я не имею в виду настоящий цикл. Это непрямой цикл, потому что send выдает исключение, которое вызовет errorMsg, который вызовет send и т. Д. вы должны попытаться выяснить, что не так, если вы отправляете электронную почту. Я думаю, что есть проблема. – Jens