[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    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.

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    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!)

  3. #3
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    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.

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    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!)

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  6. #6
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Auszug aus der Beschreibung des Receive Data Queue (QRCVDTAQ) APIs:

    Note: To improve data queue performance, the data queue APIs remember addressing information for the last data queues used. This occurs when a specific (not *LIBL or *CURLIB) value is provided for the library name, and the data queue is located in the system auxiliary storage pool (ASP number 1) or a basic user ASP (ASP numbers 2-32). The addressing information for data queues located in independent ASPs is not saved.

    Because the addressing information is saved, users of this API should be aware of the following scenarios.

    Scenario 1

    If, a job references a library-specific data queue, the data queue is moved using the Move Object (MOVOBJ) command or renamed using the Rename Object (RNMOBJ) command, and a new data queue is created with the same name and library as the data queue that was renamed or moved, then, the job continues to reference the original data queue, not the newly created data queue.

    ...

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    OK, das ist mir neu.
    Ein RCLSTG sollte dafür aber normalerweise ausreichen.

    Aber es wird ja auch geschrieben, dass andere Javaprogramme das Problem nicht haben.
    Also irgendwas machen die dann ja wohl anders, nämlich korrekt.
    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
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von Pikachu Beitrag anzeigen
    If, a job references a library-specific data queue, the data queue is moved using the Move Object (MOVOBJ) command or renamed using the Rename Object (RNMOBJ) command, and a new data queue is created with the same name and library as the data queue that was renamed or moved, then, the job continues to reference the original data queue, not the newly created data queue.
    ...
    ... das bezieht sich allerdings dezidiert auf einen Job und ein disconnectService(AS400.DATAQUEUE) auf das AS400 Object sollte zu einer korrekten Initialisierung des prestarted Jobs vor Wiederverwendung führen, ansonsten wäre das ein Bug in der jt400.

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

  9. #9
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Die lassen sich nun doch nicht in den Code gucken.
    Wir löschen die DATAQ nun vor dem rename der Lib.
    In der neu erstellten Lib erzeugen wir die dataq neu.

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

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Unabhängig davon, Fehler gehören behoben!
    Alternativ kann man ggf. per WRKOBJLCK den Job feststellen und killen.
    Dann sollte der Move anschließend auch funktionieren.
    Das Javaprogramm sollte dann in der Lage sein zu reconnecten.
    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

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von Robi Beitrag anzeigen
    Die lassen sich nun doch nicht in den Code gucken.
    ... das könnte einen Grund haben...
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

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
  •