[NEWSboard IBMi Forum]
  1. #1
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012

    XML-Verarbeitung

    Hallo,

    wir benutzen das Tool QXML4PR400, das es mal kostenlos von der IBM gab, um kleinere XML-Dateien zu verarbeiten. Das neue Toolkit ist ja inzwischen kostenpflichtig geworden. An sich funktioniert das auch sehr gut. Es läuft ein Job den ganzen Tag, der in gewissen Abständen in einem IFS-Verzeichnis nachschaut, ob neue Dateien da sind und verarbeitet diese dann. Es sind immer nur wenige Dateien und sie sind auch ziemlich klein. Vor kurzem ist uns jedoch aufgefallen, dass der temporäre Speicher dieses Jobs im Laufe des Tages stark ansteigt (bis auf mehrere GB).
    Für die Verarbeitung verwenden wir den mitgelieferten DOM-Parser, wobei ich am Ende der Verarbeitung mit folgenden Funktionen die entsprechenden Elemente wieder beende/freigebe:

    QxmlDOM_Document_delete(pDoc)
    QxmlDOMParser_delete(pDOMParser)
    QxmlTerm()

    Die Belegung des temporären Speichers sieht man mit WRKACTJOB -> Auswahl 5 -> Auswahl 3.

    Hat vielleicht jemand von Euch schon mal so ein Problem gehabt bzw. wie kann ich den temporären Speicher wieder freigeben (außer den Job zu beenden) ? Mit DEALLOC auf den betreffenden Pointern funktioniert's auf jeden Fall nicht.

    Gruß,
    KM

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ohne Job-Neustart überhaupt nicht.
    Du kannst in diesem Fall nur die Verarbeitung splitten:

    Nach Ablauf Zeitraster -> SBMJOB <Aktion>

    Oder auf Java umstellen, da ist schon alles drin (sagt man).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    727
    Mit benannten Akivierungsgruppen für den Aufruf das ParserModuls müsste eigentlich der Speicher ebenfalls freigegeben werden.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das Auflösen von Aktivierungsgruppen gibt nur den sog. automatischen und statischen Speicher, der direkt dem Programm zugeordnet wurde oder per %alloc zugewiesen wurde, wieder frei.
    Pro Programm beschränkt sich dieser aber auf 16MB !
    Wenn man mehr Speicher benötigt muss man Heap-API's bemühen, Tera-Space oder nach alter Methode USRSPC-Objekte.

    Per MI-Befehl CRTS (auch als C-Funktion verfügbar) kann man USRSPC-Objekte in der QTEMP erstellen (max. 16MB) die nicht sichtbar sind aber als ganz normaler Speicherbereich angesprochen werden können.
    Automatisch werden diese nicht freigegeben !
    Jetzt kommt noch das Problem dazu, dass ein REPLACE eines USRSPC dazu führt, dass das vorherige in die QRPLOBJ verschoben wird und dort ebenso nicht sichtbar ist.

    Ein Auflösen der Aktivierungsgruppen gibt diese Resourcen leider nicht frei.

    Jetzt gibt's eben obige Möglichkeit:
    1. Per SBMJOB erhält man erst mal eine saubere QTEMP.
    2. Bei CRTS oder CRTUSRSPC mit REPLACE gibts kein vorheriges Objekt
    3. Nach Jobende ist alles wieder weg (jedenfalls fast!)
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Webservices, SOAP, XML und Labeldruck
    By vige1000 in forum NEWSboard Linux
    Antworten: 4
    Letzter Beitrag: 21-12-06, 11:56
  2. MQ-Series: Automatische Verarbeitung
    By RLurati in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 20-10-06, 09:09
  3. MQ-Series: Automatische Verarbeitung
    By RLurati in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 20-10-06, 08:31
  4. XML zu einem Port Senden
    By Weki in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 11-09-06, 13:31
  5. Formfeed in XML
    By kuempi von stein in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 05-07-06, 08:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •