PDA

View Full Version : Java und die Verbindung von außen über eine Dataq



Seiten : [1] 2

Robi
19-11-13, 12:30
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

BenderD
19-11-13, 15:06
... 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

Robi
19-11-13, 15:26
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 :cool:

Fuerchau
19-11-13, 15:35
Raten im Nebel ist da unproduktiv.
Ohne den Quellcode kann dir da wohl keiner was sagen.

BenderD
19-11-13, 15:44
Angeblich
... da hammers doch ...

Robi
19-11-13, 16:14
@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!

Fuerchau
19-11-13, 16:33
Mittels ENDPJ kannst du die Java-Servicejobs beim Umhängen der Lib ja killen (allerdings sind dann alle betroffen) und per STRPJ wieder starten.

Pikachu
20-11-13, 11:08
Die Vermutung ist wohl richtig (siehe die Anmerkungen zu "Library name" der Send Data Queue" (QSNDDTAQ) API (http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/apis/qsnddtaq.htm) und Receive Data Queue (QRCVDTAQ) API (http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/apis/qrcvdtaq.htm)). 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.

Robi
20-11-13, 11:20
Ja, danke.
Deshalb suche ich ja nach einem
'Beende die Verbindung zur AS/400 und alle von mir benutzen Zugriffswege' - Befehl im Java

Robi

Pikachu
20-11-13, 11:24
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.