Domino 9 und frühere Versionen > ND6: Entwicklung

Problem mit 32k Grenze in Java Agent

(1/1)

Gandhi:
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++;
}
--- Ende Code ---

timo.emrich:
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

atbits:
Warum erzeugst Du nicht einfach mehrere Dokumente?

Grüße David

Gandhi:
Das werde ich jetzt auch tun. Allerdings ist diese Lösung sowieso schon wieder überholt...

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln