|
From: Bakal, B. <B....@ob...> - 2005-12-28 15:44:50
|
Hi,
I am using the Cryptix library on the AS400. There is an RPGLE program =
that creates an instance of my Java class (thin wrapper around Cryptix) =
and encrypts files. This has been working great during my tests. But =
when we moved to production, the RPGLE program started to fail =
intermittently especially when the program is called from a background =
job as opposed to being called interactively. Below are some of the =
messages we get from the AS400.
We tried everything suggested in the messages. We also opened a ticket =
with IBM in case this was an AS400 configuration issue. When we allow =
multithreading on the AS400, we have tons of other issues with programs =
that are not thread-safe. Is there any way to disable multi-threading =
within Cryptix? We would appreciate any suggestions to resolve this =
issue. Thanks!
AS400 version is V5R3M0 JDK 1.4.2
I compiled my encryption class using WebSphere 5 on Windows 2000.
Message . . . . : Request to create secondary Java thread failed.
Cause . . . . . : The initiation =
of secondary threads within the job has
been disallowed. The request to =
start another thread failed. Recovery . .
. : The disallowment of =
secondary threads may have occurred because the
job is not multithread capable. =
Use the Work with Environment Var
(WRKENVVAR) command to set =
QIBM_MULTI_THREADED=3D'Y' to allow multiple
threads.
Message . . . . : Initiate thread returned error number EBUSY (3029)
Message . . . . : Unable to create Java Virtual Machine.
Cause . . . . . : Unable to =
create Java Virtual Machine (JVM) because of
reason 5. The reason codes are =
defined as follows: 4 - Thread is attached to
another JVM. 5 - JVM already =
exists in process. 7 - Process must be
multi-thread capable. 8 - =
Classpath is not valid. 9 - Garbage Collection
information is not valid. 13 - =
Properties received are not valid. 18 -
Unable to complete JVM_OnLoad =
processing for -Xrun option. 19 - OS/400 PASE
startup error. See previous =
messages. If the reason is not listed, an
internal error has occurred. =
Recovery . . . : If an internal error has
occurred, report the reason code =
to your service representative to report
the problem. If the reason is =
one of the reasons listed above, correct the
parameter and submit the request =
again.
|