---
title: "java.lang.OutOfMemoryError"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/96037-java-lang-outofmemoryerror"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "tosses"
published: "2004-01-29T10:01:01.000Z"
updated: "2004-01-29T23:03:32.000Z"
replies: 9
views: 460
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/96037-java-lang-outofmemoryerror"
---

# java.lang.OutOfMemoryError

## #1 — tosses, 2004-01-29T10:01Z

java.lang.OutOfMemoryError 

HJÄLP!!!!!!!

Jag har ett jsp script som mailar iväg en massa mail, loopar igenom mailadresser och mailar iväg.

Men har jag för många adresser får jag felmeddelandet:
java.lang.OutOfMemoryError

Jag vet att några skulle vilja halshugga mig nu för att jag postar detta i både JSP och Java forumet men jag behöver verkligen hjälp med detta!!!!!!!!

Snälla hjälp!!!!

Permalänk: https://www.webforum.nu/p/96037

## #2 — phonkworks, 2004-01-29T10:30Z

Kan vara lite olika orsaker. Vet inte hur du spara adresserna men ligger de i en db och du selectar allihop kan ett bus stort resultset orsaka OutOfMemory.
Pröva att begränsa antalet per select och selecta fler gånger istället.

Kan också bero på att du startar en miljarrrrd mail trådar väldigt snabbt. Pröva att vänta några millis mellan varje trådstart.

mvh
phonk

Permalänk: https://www.webforum.nu/p/1262555

## #3 — tosses, 2004-01-29T10:40Z

Humm hmm, här kommer lite kod hmm i hmm JSP hmm.

Stmt =  Conn.prepareStatement(sql);
ResultSet rslt56 = Stmt.executeQuery();
while(rslt56.next()){
 if(rslt56.getString("villhamail")==null){
 out.print("Till: " + rslt56.getString("Epost")+ "   \<img src='bockgron.gif'\>" + "\<br\>");
 String to = rslt56.getString("Epost");

 try{
     SmtpClient client = new SmtpClient("127.0.0.1");
	 client.from(from);
     client.to(to);
     PrintStream message = client.startMessage();
	 message.println("From: " + from); 
     message.println("To: " + to);
     message.println("Subject:  " + rslt55.getString("amne"));
     message.println(rslt55.getString("brevtext"));
	 message.println("");
	 message.println("");
	 message.println("");
	 message.println("");
	 message.println("Vill du inte ha flera mail från oss så klicka här:");
	 message.println("http://adress/ftg/stoppabrev.jsp?Epost="+rslt56.getString("Epost"));
     client.closeServer();
  }
  catch (IOException e){	
     System.out.println("ERROR SENDING EMAIL:"+e);
  }
  } else {
  out.print("Till :" + rslt56.getString("Epost") + "   \<img src='bockrod.gif'\>" + "\<br\>");
  }
}
}

}
} catch(NullPointerException e){}

Det jag gör är att i en SQLfråga väljer en massa adresser som jag sedan loopar iväg ett efter ett.
Måste jag skapa någon sorts paus emellan alla mail eller kan jag öka minnet  som java arbetar med eller....?

Permalänk: https://www.webforum.nu/p/1262557

## #4 — phonkworks, 2004-01-29T10:57Z

Pröva att skapa clienten innan loopen. Nu skapar du en ny client för varje mail vilket är grymt prestanda ätande.

mvh
phonk

Permalänk: https://www.webforum.nu/p/1262567

## #5 — tosses, 2004-01-29T12:08Z

Hur gör jag det ??

Permalänk: https://www.webforum.nu/p/1262614

## #6 — phonkworks, 2004-01-29T12:31Z

```

SmtpClient client = new SmtpClient("127.0.0.1"); // flyttad hit, dvs innan while loopen

while(rslt56.next()){
	
	if(rslt56.getString("villhamail")==null){
		
		out.print("Till: " + rslt56.getString("Epost")+ " <img src='bockgron.gif'>" + "<br>");
		String to = rslt56.getString("Epost");
		
		try{
			  
			client.from(from);
			client.to(to);
			PrintStream message = client.startMessage();
			message.println("From: " + from); 
			message.println("To: " + to);
			message.println("Subject: " + rslt55.getString("amne"));
			message.println(rslt55.getString("brevtext"));
			message.println("");
			message.println("");
			message.println("");
			message.println("");
			message.println("Vill du inte ha flera mail från oss så klicka här:");
			message.println("http://adress/ftg/stoppabrev.jsp?Epost="+rslt56.getString("Epost"));
			
		}
		catch (IOException e){ 
			System.out.println("ERROR SENDING EMAIL:"+e);
		}
		
	} else {
		out.print("Till :" + rslt56.getString("Epost") + " <img src='bockrod.gif'>" + "<br>");
	}
}

client.closeServer(); // flyttad hit så du stänger först när allt är klart
```

mvh
phonk

Permalänk: https://www.webforum.nu/p/1262633

## #7 — tosses, 2004-01-29T12:57Z

Tyvärr då får jag detta felmeddelande:

java.net.SocketException: Software caused connection abort: recv failed
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:129)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
	at sun.net.TransferProtocolClient.readServerResponse(TransferProtocolClient.java:49)
	at sun.net.smtp.SmtpClient.issueCommand(SmtpClient.java:46)
	at sun.net.smtp.SmtpClient.closeServer(SmtpClient.java:38)
	at sun.net.NetworkClient.openServer(NetworkClient.java:117)
	at sun.net.smtp.SmtpClient.openServer(SmtpClient.java:111)
	at sun.net.smtp.SmtpClient.(SmtpClient.java:156)
	at pagecompile.\_ftg.\_maila_xjsp.\_jspService(\_maila_xjsp.java:206)
	at com.newatlanta.servletexec.JSP10HttpJspPage.service(JSP10HttpJspPage.java:41)
	at com.newatlanta.servletexec.JSP10Servlet.service(JSP10Servlet.java:778)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at com.newatlanta.servletexec.ServletExec.CallServletService(ServletExec.java:1679)
	at com.newatlanta.servletexec.ServletExec.processServletRequest(ServletExec.java:1654)
	at com.newatlanta.servletexec.ServletExec.processServletAlias(ServletExec.java:1602)
	at com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java:1343)
	at com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java:1113)

Snyft hmm

Permalänk: https://www.webforum.nu/p/1262665

## #8 — Aleph_One, 2004-01-29T13:30Z

testa lägg till:

```
message.flush();
message.close();
```

efter din sista message.println

Permalänk: https://www.webforum.nu/p/1262686

## #9 — Viktor, 2004-01-29T21:47Z

Tråden flyttad från Java forumet.

> Jag vet att några skulle vilja halshugga mig nu för att jag postar detta i både JSP och Java forumet men jag behöver verkligen hjälp med detta!!!!!!!!

korspostning är **inte** tillåten hos webForum hur mycket hjälp du än behöver.

/Viktor

Permalänk: https://www.webforum.nu/p/1263049

## #10 — tosses, 2004-01-29T23:03Z

jag har fått det att fungera!!

Väldigt pinsamt faktiskt!!!

Min SMTP server sätter en gräns vid 10 anslutningar och då händer det nåt med jspfilen!

Om jag ökar antalet anslutningar så verkar det funka!!

TACK FÖR ALL HJÄLP !!!

Permalänk: https://www.webforum.nu/p/1263081

---

Tråden på webben: https://www.webforum.nu/amne/java/96037-java-lang-outofmemoryerror
