The managesdk command provides the names
of software development kits that are used by the product.
Use the
managesdk command to:
- List the software development kit (SDK) names that are available
to a product installation.
- List the SDK names that a specified profile is currently configured
to use.
- For each profile in a product installation, list the SDK names
that the profile is currently configured to use.
- Enable a profile to use a specified SDK name.
- Enable all profiles in an installation to use a specified SDK
name.
- Get the SDK name that is used to configure new profiles.
- Change the default SDK name that profiles use.
- Get the SDK name that is used by scripts called from a product bin directory.
- Change the SDK name that scripts in a product bin directory
use by default. The SDK name is used when no existing profile name
is specified and the default profile name is not applicable.
The command file is located in the app_server_root/bin directory
and app_client_root/bin directory.
Attention: If the
managesdk command
is used to change the SDK for a profile from a 31-bit (z/OS®) or 32-bit (IBM i) SDK to a 64-bit SDK,
and you are using third-party resource adapters, consider the following
information to avoid potential problems. This information does not
apply to any of the built-in resource adapters shipped with the
WebSphere® Application Server product, including
the IBM WebSphere Relational Resource Adapter, the IBM® WebSphere MQ
Resource Adapter, or the IBM SIB JMS Resource Adapter as they have
been fully tested to work with all IBM SDKs. Because resource adapters
can use non-Java libraries containing platform-specific native code,
it is possible that changing the SDK from 31-bit (z/OS) or 32-bit
(IBM i) to 64-bit, or from 64-bit to 31-bit or 32-bit, might result
in the resource adapter not functioning properly. If a third-party
resource adapter is installed, either stand-alone or embedded in an
enterprise application, on a server for which you intend to change
the SDK, verify with the supplier of that resource adapter that any
native libraries it uses are compatible with the selected SDK.
Attention: The
managesdk command
provides function that replaces the
enableJvm command.
The
enableJvm command is deprecated. Use the
managesdk command,
instead of the
enableJvm command.
Attention: If you use the managesdk command
in a federated cell, and enable an SDK on a node, the SDK is not found
by the command unless the node agent has been restarted.
Syntax
Use the following command syntax
with the managesdk command:
managesdk -task [-parameter] [value]
The
command-line tool validates that the requested task contains the required
parameters and values. Parameters are not case-sensitive. However,
values are case-sensitive. You must type values with the correct capitalization
because the command-line tool does not validate the capitalization
of the parameter values. Incorrect results can occur when the parameter
value is not typed correctly.
Parameters
The following -task options are
available for the managesdk command:
- -help
- Displays detailed information about the parameters or values of
each managesdk task. The following example uses
the help parameter with the managesdk command:
app_server_root/bin/managesdk -help
The
output from the help option describes the required and optional parameters.
- -listAvailable [-verbose]
- Displays a list of all SDK names available to the product installation.
When the -verbose option is also specified, a list of properties for
each SDK name also is displayed. The following example uses the -listAvailable
-verbose parameters with the managesdk command:
app_server_root/bin/managesdk -listAvailable -verbose
The
output is a list of all SDK names that the product installation can
use, along with a list of the properties associated with each SDK
name.
- -listEnabledProfile [-profileName profile_name] [-verbose]
- Displays a list of all SDK names that a specified profile, and
its node and servers, is currently configured to use. When the -verbose
option is also specified, a list of properties for each SDK name also
is displayed. The following example uses the -listEnabledProfile -profileName
and -verbose parameters with the managesdk command:
app_server_root/bin/managesdk -listEnabledProfile -profileName AppSrv02 -verbose
The
output is a list of all SDK names that the specified profile can use,
along with a list of the properties associated with each SDK name.
- -listEnabledProfileAll [-verbose]
- Displays a list of all profiles in an installation and the SDK
names that each profile, and its node and servers, is currently configured
to use. When the -verbose option is also specified, a list of properties
for each SDK name also is displayed. The following example uses the
-listEnabledProfileAll and -verbose parameters with the managesdk command:
app_server_root/bin/managesdk -listEnabledProfileAll -verbose
The
output is a list of all profiles in a product installation with all
SDK names that each profile can use, along with a list of the properties
associated with each SDK name.
- -enableProfile [-profileName profile_name] [-sdkname
sdkName] [-enableServers] [-user user_name] [-password password_value]
- Enables a profile to use a specified SDK name. The -profileName
parameter specifies the profile and the -sdkname parameter specifies
the SDK name. The command enables the profile and the node-level default
SDK of the profile to use the specified SDK name. Unless the -enableServers
option is used, the command does not change server-level SDK settings.
If the -enableServers option is used, all server-level SDK settings
are cleared, enabling all servers to use the node-level default SDK.
The
following conditions apply when the
managesdk command
is run:
- If the profile is a federated node of a deployment
manager, the deployment manager must be running when the managesdk command
attempts to update the profile.
- If the profile is a stand-alone application server,
stand-alone secure proxy server, job manager, administrative agent,
or deployment manager, then the profile server (node) must not be
running when the managesdk command attempts to
update the profile. Stop the server before running the managesdk command.
- When enabling the SDK for a node, run the managesdk command
from the /bin directory of the product installation
to which the node belongs or from the /bin directory
of the profile that contains the node you want to update.
- A connection to the deployment manager must exist using a supported
connector protocol in the following order of preference:
- SOAP
- Inter-Process Communications (IPC)
- Remote Method Invocation (RMI)
If the SOAP protocol is enabled, the managesdk command
uses the SOAP protocol. If the SOAP protocol is not enabled but the
IPC protocol is enabled, the command uses the IPC protocol. If neither
the SOAP nor the IPC protocol are enabled, then the command uses the
RMI protocol.
- You must provide the administrative user name and password with
the managesdk command for each profile that contains
a federated node or deployment manager node in a cell with security
enabled. If you do not specify the -user and -password parameters,
the managesdk command might fail or stop processing.
The topic on configuring security with scripting provides connector
protocol specific instructions on how to save user name and password
values.
- When enabling the SDK for a deployment manager, only the deployment
manager server is enabled. None of the managed nodes of the deployment
manager are enabled to use the specific SDK.
The following example uses -enableProfile, -profileName,
-sdkname, and -enableServers with the managesdk command:
app_server_root/bin/managesdk -enableProfile -profileName AppSrv02 -sdkname 1.6_32 -enableServers
The
output is a message that indicates whether the specified profile was
successfully updated and is now enabled to use the specified SDK,
or whether problems were encountered that prevented the profile from
being successfully updated.
- -enableProfileAll [-sdkname sdkName] [-enableServers]
[-user user_name] [-password password_value]
- Enables all profiles in an installation to use a specified SDK
name. The -sdkname parameter specifies the SDK name. The command enables
all profiles and the node-level default SDK of each profile to use
the specified SDK name. Unless the -enableServers option is used,
the command does not change server-level SDK settings. If the -enableServers
option is used, all server-level SDK settings are cleared, enabling
all servers to use the node-level default SDK.
The following conditions
apply when the
managesdk command is run:
- If the profile is a federated node of a deployment
manager, the deployment manager must be running when the managesdk command
attempts to update the profile.
- If the profile is a stand-alone application server,
stand-alone secure proxy server, job manager, administrative agent,
or deployment manager, then the profile server (node) must not be
running when the managesdk command attempts to
update the profile. Stop the server before running the managesdk command.
- When enabling the SDK for a node, run the managesdk command
from the /bin directory of the product installation
to which the node belongs or from the /bin directory
of the profile that contains the node you want to update.
- A connection to the deployment manager must exist using a supported
connector protocol in the following order of preference:
- SOAP
- Inter-Process Communications (IPC)
- Remote Method Invocation (RMI)
If the SOAP protocol is enabled, the managesdk command
uses the SOAP protocol. If the SOAP protocol is not enabled but the
IPC protocol is enabled, the command uses the IPC protocol. If neither
the SOAP nor the IPC protocol are enabled, then the command uses the
RMI protocol.
- You must provide the administrative user name and password with
the managesdk command for each profile that contains
a federated node or deployment manager node in a cell with security
enabled. If you do not specify the -user and -password parameters,
the managesdk command might fail or stop processing.
The topic on configuring security with scripting provides connector
protocol specific instructions on how to save user name and password
values.
Avoid trouble: Do not use the -enableProfileAll option
unless automatic prompting is disabled for SOAP, IPC, and RMI connections
to the deployment managers of cells that have any federated node or
deployment manager with security enabled. Automatic prompting causes
the
managesdk command to fail or stop processing.
gotcha
- When enabling the SDK for a deployment manager, only the deployment
manager server is enabled. None of the managed nodes of the deployment
manager are enabled to use the specific SDK.
The following example uses -enableProfileAll, -sdkname,
and -enableServers with the managesdk command:
app_server_root/bin/managesdk -enableProfileAll -sdkname 1.6_32 -enableServers
The
output is a message for each profile that indicates whether the profile
was successfully updated and is now enabled to use the specified SDK,
or whether problems were encountered that prevented the profile from
being successfully updated.
- -getNewProfileDefault [-verbose]
- Displays the SDK name that is currently configured for all profiles
that are created with the manageprofiles command.
When the -verbose option is also specified, properties information
for the single SDK name also is displayed.
The following example
uses the -getNewProfileDefault -verbose parameters with the managesdk command:
app_server_root/bin/managesdk -getNewProfileDefault -verbose
After
the command runs, the new profile default SDK name is displayed.
- -setNewProfileDefault [-sdkname sdkName]
- Changes the SDK name that is currently configured for all profiles
that are created with the manageprofiles command.
The -sdkname parameter specifies the default SDK name to use. The sdkName value
must be an SDK name that is enabled for the product installation.
The
following example uses the -setNewProfileDefault -sdkname parameters
with the managesdk command:
app_server_root/bin/managesdk -setNewProfileDefault -sdkname 1.6_32
After
the command runs, the new profile default SDK name is displayed.
- -getCommandDefault [-verbose]
- Displays the SDK name that script commands in the app_server_root/bin, app_client_root/bin,
or plugins_root/bin directory
are enabled to use when no profile is specified by the command and
when no profile is defaulted by the command. When the -verbose option
is also specified, properties information for the single SDK name
also is displayed.
The following example uses the -getCommandDefault
-verbose parameters with the managesdk command:
app_server_root/bin/managesdk -getCommandDefault -verbose
- -setCommandDefault [-sdkname sdkName]
- Changes the SDK name that script commands in the app_server_root/bin, app_client_root/bin,
or plugins_root/bin directory
are enabled to use when no profile is specified by the command and
when no profile is defaulted by the command. The -sdkname parameter
specifies the SDK name to use for commands. The sdkName value
must be an SDK name that is enabled for the product installation.
The
following example uses the -getCommandDefault -sdkname parameters
with the managesdk command:
app_server_root/bin/managesdk -setCommandDefault -sdkname 1.6_32
The following special parameter options are available
with task parameters of the managesdk command:
- -debug
- Use this option with any -task parameter to enable additional
debugging information in the command output.
- -quiet
- Use this option with any -task parameter to suppress most messages
in the command output.
- -sdkname
- Use this option with a -set task parameter to specify an SDK name
that is enabled for the product installation; for example:
-sdkname
1.6_32
- -verbose
- Use this option with any -list or -get task parameter to provide
additional information, such as SDK properties in the command output.
Usage scenario
The
following examples demonstrate correct syntax when you run the managesdk command:
managesdk -listAvailable -verbose
managesdk -listEnabledProfile -profileName AppSrv02 -verbose
managesdk -listEnabledProfileAll -verbose
managesdk -enableProfile -profileName AppSrv02 -sdkname 1.6_32 -enableServers
managesdk -enableProfileAll -sdkname 1.6_32 -enableServers
managesdk -getNewProfileDefault -verbose
managesdk -setNewProfileDefault -sdkname 1.6_32
managesdk -getCommandDefault -verbose
managesdk -setCommandDefault -sdkname 1.6_32
The
following example demonstrates the sequence of commands to use to
list available SDKs, change the default SDK to a Version 7.0 SDK and,
if profiles exist already, enable the profiles to use the Version
7.0 SDK.
- Optionally, view a list of available SDK names for the product
installation:
managesdk -listAvailable
- Set the command default to the Version 7.0 SDK:
managesdk -setCommandDefault -sdkname 1.7_32
- Set the new profile default to the Version 7.0 SDK:
managesdk -setNewProfileDefault -sdkname 1.7_32
- If profiles already exist, enable the profiles to use the Version
7.0 SDK:
managesdk -enableProfileAll -sdkname 1.7_32 -enableServers