Hallo!!!
Ich entwickle zur Zeit eine Anwendung unter Linux und dem freiem Java "jamvm". Es sieht so aus, ein Thread wird erzeugt und gestartet, in dem eine bestimmte Anzahl von weiteren Threads erzeugt und gestartet werden sollen. Die Anzahl wird während der Laufzeit aus einer ini-Datei gelesen. Solange die Anzahl 1 ist läuft alles i.O. Sobald ich aber die Anzahl auf 2 oder höher setze, kommt während der Laufzeit eine ArrayIndexOutOfBoundsException beim erzeugen einer Klasse die kein Thread ist, aber weitere Threads enthält.
Source:
Exception:
java.lang.ArrayIndexOutOfBoundsException: 2579912
at de.datec.omd.SingleRead.run (SingleRead.java:179)
Ich habe die Anwendung auch im Windows & Linux mit dem Sun JRE getetestet und es funktionierte ohne Probleme. Bevor einer sagt wieso verwendest du nicht gleich das JRE von Sun, dem muss ich sagen, das geht aus rechtlichen Gründen nicht.
Wenn einer eine Lösung oder Vermutung hat, bitte melden!
Danke, mleu01
Ich entwickle zur Zeit eine Anwendung unter Linux und dem freiem Java "jamvm". Es sieht so aus, ein Thread wird erzeugt und gestartet, in dem eine bestimmte Anzahl von weiteren Threads erzeugt und gestartet werden sollen. Die Anzahl wird während der Laufzeit aus einer ini-Datei gelesen. Solange die Anzahl 1 ist läuft alles i.O. Sobald ich aber die Anzahl auf 2 oder höher setze, kommt während der Laufzeit eine ArrayIndexOutOfBoundsException beim erzeugen einer Klasse die kein Thread ist, aber weitere Threads enthält.
Source:
Code:
public void run() {
SnmpRequest snmp = null;
try {
snmp = new SnmpRequest( this.codeBase, false ); <-- Fehler tritt hier auf
snmp.addLogListener( this.logListener );
} catch (Exception ex) {
ex.printStackTrace();
return;
} // endtry
...
Exception:
java.lang.ArrayIndexOutOfBoundsException: 2579912
at de.datec.omd.SingleRead.run (SingleRead.java:179)
Ich habe die Anwendung auch im Windows & Linux mit dem Sun JRE getetestet und es funktionierte ohne Probleme. Bevor einer sagt wieso verwendest du nicht gleich das JRE von Sun, dem muss ich sagen, das geht aus rechtlichen Gründen nicht.
Wenn einer eine Lösung oder Vermutung hat, bitte melden!
Danke, mleu01