[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    1.975

    Java und die Verbindung von außen über eine Dataq

    Hi *all

    da ich kein Java kann, bitte ggf. falsche Formulierungen einfach in richtige Übersetzen

    Ein PC-Pgm greift mit Java auf die AS400 zu und liest aus einer DataQ
    Am Wochenende wird die Lib der Dataq umbenannt und eine neue Lib mit Dataq erzeugt.
    Das PC Pgm beendet seinen Java zugriff auf die AS400 und baut Ihn neu auf.
    (mit fest verdrahteter, richtiger Lib)
    Trotzdem liest der PC-Java-Job Daten aus der umbenannten Lib, nicht aus den neuen.

    Vermutung:
    All die vielen Jobs auf der AS400, die sich starten wenn ein Java Pgm auf die AS400 zugreift sind nicht beendet worden, merken sich den "Zugriffspfad" und kommunizieren später auch mit dem neuen Job.

    Frage: Was sag ich dem PC-Java Entwickler? Wie kann er seinen Job so beenden, das all die dazugehörigen Jobs auch verschwinden und eine neue Verbindung auch auf neue Daten zugreift.

    Zus. Hinweis: das PC Java arbeitet mit dem Apache Camel / Spring Framework

    Hoffe ihr habt das verstanden

    Danke
    Robert
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... wenn das alles stimmt, was Du da schreibst, dann ist die DataQ Koponente der Dollschachtel Buggy. Ich vermute allerdings eher, dass da jemand in diesem Gestrüpp von rename auf der einen Büchse und restart auf der anderen Büchse über die eigenen Füße fällt.

    D*B, dem schon wieder übel wird
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Tja, so ist nunmal das Konstrukt.

    Eine externe Firma liest Daten aus eine Dataq (vom PC, aus der Testumgebung)
    Die Testumgebung wird jeden Samstag(da arbeitet keiner) aus der Echtungebung neu erstellt.
    Die alte Testumgebung wird für 1 Woche gerettet als Test_old (rename)
    Und Montag morgen konnten die PC-Firma keine Daten aus der Dataq lesen, bis wir Daten in die test_old/dataq geschrieben haben. Angeblich haben die Ihre PC-Pgmme morgens beendet und neu gestartet.
    Und nun brauch ich ne Idee, da andere Java Pmme, die via Dataq mit uns (RPG) kommuinizieren dieses Problem nicht haben. Und das alles ohne Java Kentnisse

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Raten im Nebel ist da unproduktiv.
    Ohne den Quellcode kann dir da wohl keiner was sagen.
    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

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Zitat Zitat von Robi Beitrag anzeigen
    Angeblich
    ... da hammers doch ...
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    @Dieter,
    ja, aber das ist schon relativ sicher, alles andere wäre Betrug!

    @Baldur
    Code einsicht bekommen wir Montag, wenn unser Java-Pgmmr wieder da ist.
    aber bis Montag ist noch lang ... und der Fehler ein 2. mal da!
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Mittels ENDPJ kannst du die Java-Servicejobs beim Umhängen der Lib ja killen (allerdings sind dann alle betroffen) und per STRPJ wieder starten.
    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

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.306
    Die Vermutung ist wohl richtig (siehe die Anmerkungen zu "Library name" der Send Data Queue" (QSNDDTAQ) API und Receive Data Queue (QRCVDTAQ) API). Es sind also wahrscheinlich die APIs auf der AS/400, die sich die Speicheradresse der umbenannten Datenwarteschlange gemerkt haben und über diese Speicheradresse weiterhin auf diese zugreifen.

  9. #9
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Ja, danke.
    Deshalb suche ich ja nach einem
    'Beende die Verbindung zur AS/400 und alle von mir benutzen Zugriffswege' - Befehl im Java

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  10. #10
    Registriert seit
    Nov 2003
    Beiträge
    2.306
    Das hat nichts mit der Verbindung zur AS/400 oder Java zu tun.
    Das ist eine Eigenschaft der Datenwarteschlangen-APIs der AS/400.
    Da hilft vielleicht nur ein IPL.

  11. #11
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Jain,

    Es ist ja der JavaJob, der die zusätzlichen Jobs in dem Q*WRK Subsystem verursacht.
    Also soll das beenden des Javajobs auch diese dinger zumachen.

    Aber ich vermute, das das nicht geht und wir alle Jobs des Users abschießen müssen.
    Blöd ist nur, das ggf. gerade in dem Moment andere User diese 'Datenzugriff'-Jobs verwenden, der Job aber weiterhin das USEPRF aus dem Javajob sperrt.
    (War der Tipp von Baldur, mit "WRKOBJLCK usrprf *USRPRF" die Jobs zu finden

    Im Joblog eines solchen Jobs haben wir jedenfalls schon Meldungen gefunden, die mit dem Java-dataq-lesen überhaubt nix zu tun haben, sondern aus unserer GUI kommen.

    Robert
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Das soll verstehen wer will.
    Wenn ich gezielt eine DTAQ YYY in der Lib XXX auswähle, sollte nichts anderes genommen werden.
    das Standard-API QRCVDTAQ/QSNDDTAQ cached da überhaupt nichts.
    Auch wenn ich Remote per API da direkt was angebe wird nichts gecached.

    Es kommt nun auf die verwendeten Methoden in dem Java-Programm an, ob dieses selber irgendwo die Objektbeziehung zur DTAQ cached bzw. in einer Variablen hält und daher die Änderung nicht mitbekommt.
    Hier wird ggf. zur Laufzeit das DTAQ-Objekt bei Verbindungstrennung nicht zerstört um es neu aufzubauen.
    Da hilft auch kein IPL.

    Ohne Quelle geht da nichts.
    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. freier Internetzugang in eine AS/400
    By fred2 in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 15-05-03, 16:38
  2. TRACE auf eine ODBC Verbindung???
    By vogeste0 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 30-04-03, 10:09
  3. Verbindung zur AS/400 über CA
    By Antonio in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-02-02, 17:20
  4. Antworten: 10
    Letzter Beitrag: 23-01-02, 14:02
  5. TCP/IP Verbindung wie über NETSTAT Opt.3 beenden
    By Klaus Rotering in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 23-11-01, 12:01

Berechtigungen

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