[NEWSboard IBMi Forum]
Seite 2 von 3 Erste 1 2 3 Letzte
  1. #13
    Registriert seit
    Aug 2001
    Beiträge
    2.644
    Zitat Zitat von AG1965_2 Beitrag anzeigen
    Das tote Pferd Net.Data ist in den allermeisten Fällen eigentlich recht leicht durch php ablösbar - warum gönnt man dem Gaul nicht seine wohlverdiente Ruhe? ;-)
    Wir verwenden für unsere internen Zwecke auch viel Net.Data - beim Monitoring auch auf bis etwa 500GB Datenbank. Das habe ich einmal mit PHP (Zend) probiert - eine Katastrophe...

    -h
    www.RZKH.de
    IBM Champion 2022, 2023, 2024
    IBM i Community Advocate https://www.youracclaim.com/badges/6...c-7ad4ba147af6
    Common / CEAC
    http://pub400.com

  2. #14
    Registriert seit
    Oct 2013
    Beiträge
    171
    Wow, in wiefern sollte das mit php eine Katastrophe sein bzw. wie hast Du denn das geschafft?
    Ich habe NICHTS gefunden, das Net.Data besser als php könnte.

  3. #15
    Registriert seit
    Feb 2001
    Beiträge
    20.206
    Das lag u.U. nicht an PHP sondern am Zend.
    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

  4. #16
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Oder es lag einfach an der Umsetzung.
    Es gibt ja auch immer wieder Fälle wo man sagt, dass Java auf der IBM i eine Katastrophe sei und super langsam.
    Was auch stimmt, wenn man die Java Module in jedem Job extra aufruft anstatt einen vorgestarteten Job zu verwenden wo die JVM bei jedem Call nicht immer erneut gestartet werden muss.
    Und gerade was die Speichernutzung betrifft kann man einiges Einstellen und das ist auch sinnvoll bei Web Anwendungen.

  5. #17
    Registriert seit
    Feb 2001
    Beiträge
    20.206
    Soweit ich weiß, wird eine JVM für einen Job nur 1x gestartet und endet, wenn der Hauptjob endet.
    Das einzige Problem ist halt, dass dies je Job passiert, der Java benötigt.
    Je nach Anwendung sind aber vorgestartet Jobs auch nicht das gelbe vom Ei, da ich damit ggf. nicht beliebige Aufrufe durchführen kann und/oder Parallelisierung verliere.
    Aber D*B kann das sicher am Besten beurteilen;-).
    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. #18
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Genau, pro Job 1 JVM. Und das ist ja das "Haupt-Problem" wenn man es außer acht lässt. Deshalb die Lösung mit vorgestarteten Jobs.
    Gerade mit vorgestarteten Jobs die über DTAQ angesteuert werden hab ich die beste Möglichkeit zur Laufzeit die Parallelisierung zu ändern ohne auch nur die Anwendung selbst anpassen oder neustarten zu müssen.

    Das gleiche ist dann auch bei PHP (wenn ich PHP Skripten aus anderen Umgebungen als den Web Server aufrufen will). Ich kann PHP via QSH aufrufen, was aber extrem langsam ist da auch hier wie bei Java die Umgebung erst aufgebaut werden muss.
    Wobei es bei PHP sogar noch schlimmer ist, da ein QSH-Job gestartet wird und dadurch die Umgebung IMMER neu aufgebaut werden muss und nicht nur wie bei Java beim ersten aufruf.
    (Einfach zu testen in der QSH mal php -version eingeben und die Sekunden zählen)
    Deshalb sollte man statt der QSH die Aufrufe via HTTP-Request am Web Server durchführen.
    Die HTTP-Jobs sind schon vorgestartet und haben dadurch eine sehr schnelle Verarbeitung.
    Dort habe ich eben auch die Parallelisierung vom Web Server.

  7. #19
    Registriert seit
    Mar 2002
    Beiträge
    5.286

    Zitat Zitat von andreaspr@aon.at Beitrag anzeigen
    Genau, pro Job 1 JVM. Und das ist ja das "Haupt-Problem" wenn man es außer acht lässt. Deshalb die Lösung mit vorgestarteten Jobs.
    Gerade mit vorgestarteten Jobs die über DTAQ angesteuert werden hab ich die beste Möglichkeit zur Laufzeit die Parallelisierung zu ändern ohne auch nur die Anwendung selbst anpassen oder neustarten zu müssen.
    ... in Java ist Multithreading sehr einfach zu implementieren, statt mehrere DtaQ Listener hat man da einen einzigen, der einen Thread Pool benutzt. Dann kann man auch sehr einfach für alle native (RPG o.ä.) Clients Status Informationen pro Session halten. Wenn die DtaQs zum Flaschenhals werden, die sind bei weitem nicht so schnell wie ihr Ruf, dann wechselt man auf Sockets. Alles in allem gehört diese ganze Funktionalität in eine eigene Komponente (= Anwendung) gekapselt.
    Abschied nehmen muss man bei diesem Design von den synchronen RPG Java Calls per JNI, aber auch das ist ein Gewinn, die sind eh' instabil.

    D*B,

    der das seit 10 Jahren so macht!
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #20
    Registriert seit
    Nov 2017
    Beiträge
    25
    Hallo Zusammen,

    das Thema ist zwar schon ein knappes Jahr alt, aber ich versuche ebenfalls den 'Message_Key' über die 'qsys2.message_queue_info' zu ermitteln. Wollte den Wert für den Befehl 'SNDRPY', genauer für das Feld 'MSGKEY' verwenden. Nur bekomme ich das Ganze leider auch nicht in char(4) via SQL gecastet.
    Nutze SQL unter DB2. Hat vielleicht jemand einen Rat?

    Danke im Voraus!

    Gruß
    derMuller

  9. #21
    Registriert seit
    Feb 2001
    Beiträge
    20.206
    Wenn du SQL verwendest, must du das Feld als Binary(4) casten.
    Dann kannst es auch so an eine Prozedur übergeben.
    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

  10. #22
    Registriert seit
    Nov 2017
    Beiträge
    25
    Hallo Fuerchau,

    wahrscheinlich verstehe ich den Sinn dahinter nicht so ganz.
    Ich will ja etwas wie z.B. '3652' haben. Wenn ich es in Binary caste erhalte ich ja genau das Gleiche wie vorher. Gecastet in Binary(4) ist ja immernoch nicht vernünftig lesbar.
    Kannst du mir das mal genauer erklären?

    Gruß
    Dennis

  11. #23
    Registriert seit
    Feb 2001
    Beiträge
    20.206
    Der MSGKEY muss nicht vernünftig lesbar sein, da er eben ein Binary(4)-Wert ist.
    Du erhältst den Binärwert als Binary(4) und kannst ihn so wie er ist für die Messagefunktion verwenden.
    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

  12. #24
    Registriert seit
    Sep 2004
    Beiträge
    327
    Hallo Zusammen,
    ich habe auch ein Frage zu dem SQL:
    SELECT *
    FROM qsys2.message_queue_info m
    WHERE message_queue_name = 'QSYSOPR' and message_type = 'INQUIRY';

    Ich würde gerne alle unbeantworteten Messages erhalten und dann prüfen und per Programm beantworten, bekomme aber alle INQUIRY Messages.
    Weiß jemand, wie ich nur die erhalte, welche noch nicht beantwortet sind.
    Wenn es darüber nicht geht, dann werde ich mir den timestamp des letzen Aufrufes ermitteln und eben dann nur noch da schauen. Ein Problem ist aber auch dabei, dass es über die RPLYE autom. beantwortete messages gibt, wie ich die dann prüfe, muss ich schauen.

    Danke.
    Gruß Klaus

Similar Threads

  1. RPG Free mit SQL / Joins / mit QSYS2.USER_INFO
    By dcdeal in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 30-05-18, 10:35
  2. Antworten: 6
    Letzter Beitrag: 26-01-17, 13:50
  3. LF auf QSYS2/VIEWS und COLUMNS verschwindet spurlos
    By Hrs28 in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 30-03-15, 01:22
  4. Table QSQPTABL in QSYS2
    By KB in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-06-01, 08:35

Berechtigungen

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