SJ domain: Control blocks

The principal control blocks in the SJ (JVM) domain are as follows:

Control block Function
SJA JVM domain anchor block.
SJCCH Shared class cache control block. Controls all shared class caches (the current, or active, shared class cache; any old shared class caches still in the system; and any new shared class cache that is being loaded).
SJVMS Master JVM control block (or JVMSet control block). One for each master JVM, the JVM that initializes and owns the shared class cache--so one for each shared class cache. Also known as the JVMSet control block, because JVMSet is another name for the group consisting of a master JVM and shared class cache, and all the worker JVMs that share that class cache.
SJTCB JVM control block. Tracks the J8 or J9 TCB on which a JVM is built. One for each worker or standalone JVM in the JVM pool (but not master JVMs, which have an SJVMS control block).

Each control block ends with a history section that records the task number, transid, and program name of each program invocation against that JVM. The list wraps after 32 entries. It contains an index value, which appears immediately before the History section of the control block, and which indicates the position in the list of the last entry to be added.

"The shared class cache" in Java™ Applications in CICS® explains more about the relationship between worker JVMs and the shared class cache.

Figure 111 shows how the control blocks are related. In this example:

Figure 111. Control blocks associated with the JVM pool and shared class cache
 The text above describes the control blocks shown in this picture. The six SJTCB control blocks, each of which controls a JVM, are connected in a loop. The three SJVMS control blocks, each of which controls a master JVM for a shared class cache, are connected to the single SJCCH shared class cache control block. The SJVMS control blocks are also connected to any SJTCB control blocks for JVMs that are dependent on them. So the SJVMS control block for the master JVM associated with the old shared class cache is connected to JVM 4's SJTCB control block, and the SJVMS control block for the master JVM associated with the active shared class cache is connected to the SJTCB control blocks for two worker JVMs. The SJVMS control block for the master JVM associated with the new shared class cache is not connected to any SJTCB control blocks, because it is not yet ready to be used by worker JVMs. The SJCCH control block, and the loop containing the SJTCB control blocks, are connected to the SJA (SJ domain anchor) control block.
[[ Contents Previous Page | Next Page Index ]]