How CICS locates the PROGRAM resource definition to create a JVM

When an application starts a Java program, CICS obtains the information it requires to create the JVM from the CICS PROGRAM resource definition that applies to the request. The request could be one of the following:

For EXEC CICS LINK requests or ECI or EXCI calls, and for entries in a program list table, CICS is given the name of the PROGRAM resource definition directly. However, for 3270 or START requests, and for method requests for an enterprise bean or CORBA stateless object, CICS determines the PROGRAM resource definition by looking at the transaction identifier. CICS can then obtain the information from the PROGRAM resource definition that it needs to create the JVM: the name of the JVM profile, the main class in the Java program, and the execution key for the Java program and the JVM. Figure 1 shows this process.

Figure 1. How CICS finds the PROGRAM resource definition
The diagram shows five requests to run Java programs. The first request is an IIOP request without a matching request model. It is handled by the default transaction CIRP. CIRP specifies the PROGRAM resource definition for the default request processor program DFJIIRP, which names the JVM profile DFHJVMCD, the execution key USER, and the JVMCLASS com.ibm.cics.iiop.RequestProcessor. The second request matches the request model EJB2. The transaction identifier for that request model is T1. T1 also specifies the default request processor program DFJIIRP, so the JVM profile, execution key, and JVMCLASS are the same as for the first request. The third request matches the request model EJB3. The transaction identifier for that request model is T2. T2 specifies the PROGRAM resource definition for a different program, USERORB1. That PROGRAM resource definition names the JVM profile USERJVM1, the execution key USER, and the JVMCLASS com.ibm.cics.iiop.RequestProcessor. The fourth request is a 3270 or EXEC CICS START request. It specifies the transaction identifier T3. T3 specifies the PROGRAM resource definition for the program PROG1, which names the JVM profile USERJVM2, the execution key CICS, and the JVMCLASS com.user.app1. The fifth request is a program link, DPL or ECI request, that directly names the PROGRAM resource definition for the program PROG1, so the JVM profile, execution key, and JVMCLASS are the same as for the fourth request.