Do a mutability analysis and generate the associated reports
To do a mutability analysis or any of the reports based on it (see below),
include MutabilityObserver in the profile.
-
To generate a MutReport.txt file containing the full results of the mutability analysis
(accessible classes, fields, TypeFuncts and TxF; mutable classes, fields, TypeFuncts and TxF),
set the switch com.ibm.jcs.analysis.mutrpt.MutReportF.printMutReport = true.
To override the file name, set the switch
com.ibm.jcs.analysis.mutrpt.MutabilityObserver.fileName
to the desire file name. The file is written by default to the root directory of the
analysis. To override this, set the OutPutDirectory property in the configuration file
to the name of the directory you want output sent to.
-
To do a Call by Reference (CBR) analysis and generate a MutReport.CBR.txt file,
set the switch com.ibm.jcs.analysis.mutrpt.MutEJB.printMutReport = true. This reports gives
reasons for why some parameters to root methods can be passed by reference
-
To do a Remote Method Invocation (RMI) analysis and generate a MutReport.RMI.txt file,
set the switch com.ibm.jcs.analysis.mutrpt.MutEJB.doRMI = true. This reports gives
reasons for why some RMI parameters can be passed by reference.
-
To do a Container Managed Persistent (CMP) analysis, set the switch
com.ibm.jcs.analysis.mutrpt.MutEJB.doCMP = true. This produces a
{@link com.ibm.jcs.analysis.mutrpt.BeanResults BeanResults}
object which can be retrieved using the
com.ibm.jcs.analysis.mutrpt.MutEJB.getCBRBeanResultMap (static) method.
To generate a MutReport.CMP.txt file reporting these results,
set the switch com.ibm.jcs.analysis.mutrpt.MutEJB.doCMP = true.
This reports gives reasons for why some CMP fields need not be rewritten to the container.
-
To generate a MutReport.nativeMethods.txt file,
set the switch com.ibm.jcs.analysis.mutrpt.MutEJB.doNativeMethodsReport = true.
This reports gives a list of native methods reachable from any root method.
-
To generate a MutReport.OpenFields.txt file,
set the switch com.ibm.jcs.analysis.mutrpt.MutEJB.doOpenFieldsReport = true. This reports gives
reasons for why some fields of type java.lang.Object cannot be analyzed for mutability