Zum Unterscheiden:
Die Jobs QZDASOINIT halten eine Sperre auf den Anmeldebenutzer.
ein WRKOBJLCK JAVAUSR OBJTYPE(*USRPRF)
zeigt z.B. alle Jobs, welche den Benutzer JAVAUSR verwenden, auch QZDASOINIT.
Leider hat WRKOBJLCK keine FileOutput.
Auch für die Sperren vom Job kommt man an das benutzte Userprofil (dort gibt es ein Outfile).
Zum 2. Problem:
Da ist die Java-Anwendung unsauber programmiert. Ich tippe auf PrepearedStatements die bei jeder Benutzung neu gemacht werden. Entweder schließt man sie nach der Benutzung oder besser man macht sie nur einmal auf.
Der Code könnte in etwas so aussehen:
PHP-Code:
public boolean fetchByFirKunr(int firma, int kundennr) {
try {
if (fetch == null) {
fetch = as400Conn.getConn().prepareStatement(
"Select " + fieldList + " from mixdta.mkun where " +
"mkufir = ? and mkukunr = ?");
}
fetch.setInt(1, firma);
fetch.setInt(2, kundennr);
retRs = fetch.executeQuery();
geladen = retRs.next();
if (geladen) {
this.mapping(retRs);
}
.....
Laut Lehrbüchern sollte man sowieso ResultSet und Statement schließen und die Connection einem Connectionpool zurückgeben. Aber ich halte mir für einfache Serverjobs und kleine GUI-Awendungen lieber eine Connection offen.
Robert P.
Bookmarks