Hi,
ich habe folgendes Problem mit folgender Ausgangssituation:
* Liste mit ca. 40000 Datenobjekten wird von IBATIS zurückgegeben - bis dahin durch fetch Operation alles fehlerfrei
* Diese Datenobjekte enthalten jeweils 1 Liste mit 2 Einträgen die in separate Objekte gekapselt werden müssen ==> es entsteht eine Liste mit 80000 Datenobjekten (je 7 Objekte mit seperaten Namen von der internen Liste vom neuen Typ)
Die Liste mit den 80000 Datenobjekten wird danach sortiert (Anforderung an den Webservice). Soweit so gut - nur bekomme ich bei der Generierung der 2.Liste eine OutofMemory Exception. Versuche schon, nachdem das alte Objekt von der ersten Liste nicht mehr gebraucht wird, dieses zu löschen und den gc anzuwerfen bzw. diesen anwerfen zu wollen (java entscheidet ja bei system.gc() glaube ich selber). Habe jetzt schon an diversen Parametern für die java Speicherverwaltung gespielt und es soweit hinbekommen das er 100 Einträge verarbeiten kann - nur bei 40000 ist das natürlich sehr wenig.
Ich bin noch auf der Suche nach einer Lösung - aber wie würdet ihr in dem Fall vorgehen bzw. was sollte man unbedingt vermeiden (Schleifen etc. kann ich ja nicht vermeiden)
Vielen Dank im Voraus und mfG
RBS2002
ich habe folgendes Problem mit folgender Ausgangssituation:
* Liste mit ca. 40000 Datenobjekten wird von IBATIS zurückgegeben - bis dahin durch fetch Operation alles fehlerfrei
* Diese Datenobjekte enthalten jeweils 1 Liste mit 2 Einträgen die in separate Objekte gekapselt werden müssen ==> es entsteht eine Liste mit 80000 Datenobjekten (je 7 Objekte mit seperaten Namen von der internen Liste vom neuen Typ)
Die Liste mit den 80000 Datenobjekten wird danach sortiert (Anforderung an den Webservice). Soweit so gut - nur bekomme ich bei der Generierung der 2.Liste eine OutofMemory Exception. Versuche schon, nachdem das alte Objekt von der ersten Liste nicht mehr gebraucht wird, dieses zu löschen und den gc anzuwerfen bzw. diesen anwerfen zu wollen (java entscheidet ja bei system.gc() glaube ich selber). Habe jetzt schon an diversen Parametern für die java Speicherverwaltung gespielt und es soweit hinbekommen das er 100 Einträge verarbeiten kann - nur bei 40000 ist das natürlich sehr wenig.
Ich bin noch auf der Suche nach einer Lösung - aber wie würdet ihr in dem Fall vorgehen bzw. was sollte man unbedingt vermeiden (Schleifen etc. kann ich ja nicht vermeiden)
Vielen Dank im Voraus und mfG
RBS2002