If you have addressed most other performance issues, then you may want to try this technique. At V5R1, the JIT compiler was greatly enhanced, although the benefit may not be significant. Although some improvement in application startup may still be achieved.

Refer to Chapter 3, “Installing and setting up call.connect” on page 19, and Chapter 4,

“Installing and setting up vendor.connect” on page 73, for the names and locations of the JAR files used by the application. These include ones that are described as “deployed” JAR files that contain the EJB classes, “logic” JAR files that contain the application logic used by the EJBs, and some utility JAR files.

You can check whether these JAR files already have a static program attached by using the Display Java Program (DSPJVAPGM) command as shown in this example:

DSPJVAPGM CLSF('/OrderManagement/Deployed/roseao_deployed.jar')

Then you see the Display Java Program Information display (Figure 5-20). If you receive the message “No Java program associated with the file”, then there is no hidden static program and JIT compilation is used.

If some data is displayed, then look at the Optimization level. The highest level is 40. Also look at the value for the Classes without current Java programs parameter.

Figure 5-20 The DSPJVAPGM command used with a compiled JAR file

If there is no static program, the optimization level is less than 40, or some classes do not have Java programs, then the compile may be worth trying. Compilation is performed using the CRTJVAPGM command as shown in this example:

CRTJVAPGM CLSF('/OrderManagement/Deployed/roseao_deployed.jar') OPTIMIZE(40)

This command can be slow, especially for large JAR files, and you may want to submit it to batch. Repeat this command for all JAR files used by the application. You can use generic names, for example, *.jar at the end of the path. If you compile all the JAR files in the application directory at one time, then it will be very slow so then you certainly submit them to batch. Check the job log periodically. You will see a message each time it completes a JAR file so you can check the progress.

You can also apply this to individual class files but none that are used by call.connect or vendor.connect at the moment.

Outside of WebSphere, this program would be detected and used with no further effort. Unfortunately, WebSphere adds a complication. It may use its own custom class loader in

128Geac System21 commerce.connect: Implementation on the iSeries Server

Page 140
Image 140
IBM SG24-6526-00 manual The Dspjvapgm command used with a compiled JAR file