Autor Thema: Problem mit 32k Grenze in Java Agent  (Gelesen 1221 mal)

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Problem mit 32k Grenze in Java Agent
« am: 21.06.07 - 11:45:19 »
Ich habe folgendes Problem:
Ich übertrage Daten mittels eines Java Tools aus SAP nach Notes.
Die Idee war es die 32k Grenze abzufangen, in dem nach 200 Einträgen, die in Summe garantiert unter 32k bleiben ein neues Feld erstellt wird.
Das Problem ist, dass nun Notes alle Felder zusammen auf 32k begrenzt.
Ich habe versucht, das document=null zu setzen (Java)  - das hat gar nichts gebracht - das document zu recyclen hatte dann den Effekt, dass ich gar nicht mehr darauf zugreifen kann.
Kann man das Problem irgendwie schnell umgehen?
Hier der Code:
Code
for (int i = 0; i < table.getNumRows(); i++) {								
					table.setRow(i);
									
					String sFirst			= table.getString("NAME_FIRST");
					String sLast			= table.getString("NAME_LAST");
					String sCountry		= table.getString("COUNTRY");
					String sOrga			= table.getString("NAME_ORG1");
					String sDepartment		= table.getString("DEPARTMENT");
					String sFunction		= table.getString("FUNCTION");
					String sFunctionDescr	= table.getString("FUNCTION_DESCR");
					String sValue			= sLast+"~"+sFirst+"~"+sCountry+"~"+sOrga+"~"+sDepartment+"~"+sFunction+"~"+sFunctionDescr;
					
					System.out.println(sValue);

					if (nTab == 200 ){
						nTab = 0;
						nIdx++;
					}
					
					String sItemname		= "JCO_Data_" + nIdx;
					
					if (docParam.hasItem(sItemname)) {
						docParam.getFirstItem(sItemname).appendToTextList(sValue);	
					} else {
						doc.save(true);
						//doc.recycle();
						//doc=null;
						doc= db.getDocumentByID(agent.getParameterDocID());
						System.out.println("Doc has been saved");
						docParam.replaceItemValue(sItemname, sValue);
					}
					nTab++;	
				}
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline timo.emrich

  • Frischling
  • *
  • Beiträge: 4
  • Geschlecht: Männlich
  • Wissen ist Macht!
Re: Problem mit 32k Grenze in Java Agent
« Antwort #1 am: 27.06.07 - 16:01:45 »
Hi,

mit doc.appendItemValue (Itemname)  kannst du weitere Items mit dem selben Namen erstellen. Ansonsten kannst Du die Daten in ein Richtext-Item reinpacken.

btw: Die Grenze bei einem Item in Java liegt bei ca. 20kB bis 22kB (den genauen Wert müsste ich rauskramen), dass musste ich schonmal leidlich feststellen (Serverabsturz + OutOfMemory-Exception).

Timo

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: Problem mit 32k Grenze in Java Agent
« Antwort #2 am: 29.06.07 - 09:38:23 »
Warum erzeugst Du nicht einfach mehrere Dokumente?

Grüße David
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Problem mit 32k Grenze in Java Agent
« Antwort #3 am: 29.06.07 - 11:44:47 »
Das werde ich jetzt auch tun. Allerdings ist diese Lösung sowieso schon wieder überholt...
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz