I got some problem with submitting JAVA multithread
program.
The machine is Ubuntu8.0.4 / intelX86 and
condor version is 7.0.4
JAVA source sode :
public class ThreadTester
{ public static void main(String args[]) { PrintThread thread1, thread2, thread3, thread4; thread1 = new
PrintThread("threadA");
thread2 = new PrintThread("threadB"); thread3 = new PrintThread("threadC"); thread4 = new PrintThread("threadD"); thread1.setDaemon(false); thread2.setDaemon(false); thread3.setDaemon(false); thread4.setDaemon(false); System.out.println("\nStarting
threads");
thread1.start(); thread2.start(); thread3.start(); thread4.start(); System.out.println("\n Threads started\n"); } } class PrintThread extends Thread
{ private int sleepTime; public PrintThread (String
name)
{ super(name); sleepTime = (int) (10000* Math.random()); System.out.println("Name: " + getName()+"; sleep: " + sleepTime); } public void
run()
{ try { System.out.println(getName() + " going to sleep"); Thread.sleep(sleepTime); } catch( InterruptedException exception) { System.out.println(exception.toString()); } System.out.println(getName() + " done sleeping"); } } The description file :
Universe = java
Executable = ThreadTester.class Arguments = ThreadTester Log = ThreadTester.log Output = ThreadTester.out Error = ThreadTester.error should_transfer_files = YES when_to_transfer_output = ON_EXIT Queue The program run well when I execute it
directly.
But when I submit it to the condor pool , I got the
message in ThreadTester.error
java.lang.NoClassDefFoundError: PrintThread
at ThreadTester.main(ThreadTester.java:7) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at CondorJavaWrapper.main(CondorJavaWrapper.java:106) Caused by: java.lang.ClassNotFoundException: PrintThread at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336) ... 6 more And the ThreadTester.log :
000 (393.000.000) 10/23 18:59:37 Job submitted from host:
<140.115.52.24:38667> Does condor support JAVA multithread? or the some configuration item
should be modify?
Thanks.
Bulato
|