-
Zitat von AG1965_2
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
-
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.
-
Das lag u.U. nicht an PHP sondern am Zend.
-
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.
-
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;-).
-
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.
-
Zitat von andreaspr@aon.at
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!
-
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
-
Wenn du SQL verwendest, must du das Feld als Binary(4) casten.
Dann kannst es auch so an eine Prozedur übergeben.
-
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
-
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.
-
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
-
By dcdeal in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 30-05-18, 09:35
-
By Bau in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 26-01-17, 12:50
-
By Hrs28 in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 30-03-15, 00:22
-
By KB in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 18-06-01, 07:35
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks