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.