Hallo,

grundsätzlich würde ich mich bei DataQ Objekten nicht auf korrekte Funktion im Multithreading verlassen wollen!!! Deshalb hatte ich auch stored Procedures genannt, was sicherlich Auswirkungen auf die Architektur der Lösung gehabt hätte.

Die Hypothese mit der Sicherung ist für mich noch schwach, da scheint mir ducrchaus noch Klärungsbedarf - und wenn der Kunde den nicht sieht und gleichzeitig Vorgaben macht, dann muss er wohl mit den Konsequenzen leben.

mfg

Dieter Bender

Zitat Zitat von ParkerLouis Beitrag anzeigen
Hallo zusammen,

Vorgabe ist, DataQueues zu nutzen. Die werden vom Kunden zur Verfügung gestellt.
Deshalb kann ich auch keine StoredProcedures einsetzen. Übrigens würde das nicht nur durch laufendes Polling und Aufrufen der Proc das gleiche Verhalten wie eine DataQue ermöglichen?

Wir versuchen gerade das Ganze zu entzerren und bauen für den lesenden Zugriff einen Dienst, der dann nach einem Timeout neu gestartet wird. Das ist dann die harte Variante, unschön aber funktioniert dann halt.

Leider lehnt der Kunde es ab, einfach eine Shutdown Message in die Queue zu schreiben. Das wäre meiner Meinung nach noch das schönste. Dann könnte ich nach diesem Read den Thread regulär beenden. Da aber noch Dritte an der Schnittstelle hängen möchte man sich wohl Abstimmungen sparen.

Wie genau das "Abhängen" unseres Dienstes auf AS/400 Seite funktioniert ist mir nicht klar und wir haben da auch keine Einsicht.

Eine Frage habe ich noch: Kann es sein, dass es Probleme gibt, wenn man in einem Thread im Read() steht und gleichzeitig aus einem anderen Thread einen Write() durchführen will? Beide Queues nutzen das gleiche AS400 Objekt.

Ich bin mir sicher, dass das Write richtig durchläuft, aber der Kunde sagt, er bekommt keine Daten auf AS400 Seite.

Übrigens bin ich sehr überrascht, über die netten Antworten! Danke!

Louis Haußknecht