Common Java Runtime Issues: remember these will output Java messages to STDERR not to JES 1) wrong verion of Java was used to write the code, and the Java on the MF is OLDER than the version used -> Developer Error 2) the JCL cannot find the the Java entry to run, this could be: the jar file name is wrong -> JCL Error the package/class name is wrong -> JCL Error permissions are wrong -> Unix Error 3) the Java code uses a 3rd party framework that is not on CLASSPATH (STDENV) I will get a message Class Not Found -> JCL Error 4) Out Of Memory Errors: -> Developer Error Java divied it's memory into sections: Heap -> uses to allocate Java Objects Stack -> used to control functions Java is allocated memory from the JCL job card I can control Java's memory allocation via command line options -X<...> 5) Stack Overflow error I have a recursive set of calls -> Developer Error 6) NullPointerException (NPE) this means the devloper is trying to use an object that was never built -> Developer Error STDERR and I see a Java message about NullPointerException I send it back to the Developer 7) Java Runtime Problems: -> Developer Error DivideByZero NullPointerExecption IndexOutOfBoundsException STDERR and I see a Java message about ... I send it back to the Developer 8) Enviroment Errors: I am trying to reach DB2, and I do not have permission I am trying to open a MVS file that does not exist (FileNotFoundException) 9) Java supports multi-thread code, if I have thread #1 lock something then Thread #2 tries to access it, Thread #2 will wait. A thread deadlock occurs when Thread #1 locks X, then tries to Lock Y and Thread #2 locak Y, and tries to lock X. both are waiting and the job will hangs I will have to kill the job -> Developer Error