The Equinox OSGi framework is used to manage class loading
and relationships between server component bundles. In some cases,
the cached bundle data, which is maintained on a per-profile basis
and has a separate cache at the WAS_HOME level for installation-wide
processes, can become out of sync with the actual binaries on the
server. You can use the osgiCfgInit script to clear and recreate
the OSGi cache.
You should run the osgiCfgInit script on the command line from
the
WAS_HOME/bin or
user_install_root/bin directory.
The behavior of the script depends on the directory from which you
run the script. If you run the script from a profile-level bin directory,
the script clears the OSGi cache for all servers within that profile.
If you run the script from the
WAS_HOME/bin directory,
the script clears the OSGi cache for all servers within the default
profile.
Avoid trouble: Before you run the osgiCfgInit script,
stop the server on which the script will be run. If you run this script
on a server that is active, the server might have problems trying
to read or update the cache after the script is finished.
gotcha
Syntax
The syntax for this script is as
follows:
osgiCfgInit.sh [options]
Options
The following options are available
for the osgiCfgInit script:
- -all
- The script clears the caches of all servers in the installation,
as well as the WAS_HOME cache.
- -washome
- The script clears the cache at the WAS_HOME level.
- -profile profileName
- The script clears the cache for the specified profile.
- -profileConfig profileName
- The script clears the profile-level cache for the specified profile.
- -servers serverName1 serverName2
...
- The script clears the cache for the specified servers.
Usage scenario
To clear the cache, execute
the command as follows:
./osgiCfgInit.sh [-all|-washome]
If
the script completes successfully, the message "OSGi cache successfully
cleaned for location." displays on the command
line.