+

Search Tips   |   Advanced Search

Create, edit, and delete WebSphere variables

Use WebSphere variables to provide settings for any of the string data type attributes contained in the product configuration files.

Because applications cannot directly access WebSphere variables, if we define a WebSphere variable inside of an application, an error message, such as "Unknown variable," is returned. If we must reference a WebSphere variable from within an application, include the following method in the application to expand the string that uses the WebSphere variable.

Expanding WebSphere variables requires us to have administrative privileges.

private String expandVariable(String s) throws
javax.management.JMException {  
com.ibm.websphere.management.AdminService as = 
com.ibm.websphere.management.AdminServiceFactory.getAdminService 
();  

String server = as.getProcessName();  

java.util.Set result = as.queryNames(new javax.management.ObjectName("*:*,type=AdminOperations,process=" 
+ server), null);  

return (String)as.invoke((javax.management.ObjectName) 
result.iterator().next(),"expandVariable",new Object[] 
{"${"+s+"}"}, new String[] {"java.lang.String"});

Similarly, we can include the following lines of code in a script file to use a script command to expand WebSphere variables.

WebSphere variables are usually used to specify file paths. The "Variable settings" topic supplies further details about specifying variables and highlights further details about product components that use them.

WebSphere variables are also used to configure:

The variable scoping mechanism for WebSphere variables enables us to define a variable at the node, cluster, or cell level, as well as at the server level. This mechanism allows us to specify a setting for all of the servers in a node, cluster, or cell, instead of individually specifying the setting for each server.

To define a new variable, change the value of an existing variable, or delete an existing variable complete the following steps, as appropriate.


Tasks

  1. Click Environment > WebSphere variables in the administrative console

  2. Select the scope of the variable from the list of available scopes.

    If we create a new variable, it will be created at the selected scope. If we define the same variable at multiple levels, the more granular definition overrides the higher level setting. For example, if we specify the same variable on a cell level and at a node level, the node level setting overrides the cell level setting.

    Scoping variables is particularly important if we are testing data source objects. Variable scoping can cause a data source to fail the test connection, but to succeed at run time, or to pass the test connection, but fail at run time.

  3. Create a new variable.

    1. Click New.

    2. Specify a name, a value, and, optionally, a description for the variable.

      (ZOS) The application server uses WebSphere Application Server internal variables for its own purposes. The prefixes that indicate that a variable is internal are WAS_DAEMON_<server custom property>, WAS_DAEMON_ONLY_<server custom property>, and WAS_SERVER_ONLY_<server custom property>. Any variables with these tags are not intended for our use. They are reserved exclusively for use by the server run time. Modifying these variables can cause unexpected errors.

      (ZOS) Use WebSphere variables to modify the daemon configuration. By appending a server custom property onto a daemon tag, we can designate that variable specifically for that daemon. Enter DAEMON_<server custom property> in the Name field. For example, if we enter DAEMON_ras_trace_outputlocation in the Name field and SYSOUT in the Value field, we can direct that particular daemon's trace output to SYSPRINT.

      Create WebSphere variables that support substitution. For example, if we enter ${<variable name>} in the Name field, the value of <variable name> becomes the name of our new WebSphere variable. For example if we enter ${JAVA_HOME} as the name of our variable, the name of the WebSphere variable created is the Java home directory.

    3. Click OK.

    4. Click Environment > WebSphere variables and verify that the variable is displayed in the list of variables for the selected scope.

      The administrative console does not pick up typing errors. The variable is ignored if it is referred to incorrectly.

  4. Modify the setting for an existing variable.

    1. Click on the name of the variable to change.

    2. Modify the content of the Values field.

      The Values field for some of the variables that are already defined when we install the product are read-only because changing the values specified for those variables might cause product processing errors.

    3. Click OK.

  5. Delete an existing variable.

    1. Select the variable to delete.

    2. Click Delete.

    3. Click OK.

    4. Verify that this variable was removed from the list of variables for the selected scope.

  6. Save the configuration.

  7. Stop the affected servers and start those servers again to put the variable configuration change into effect.

    If the change we made affects a node, we must stop and restart all of the servers on that node. Similarly if the change we made affects a cell, we must stop and restart all of the servers in that cell.


Subtopics


Related:

  • Test connection service
  • (ZOS) Change the values of variables referenced in BBOM0001I messages
  • Administer application servers
  • Configure transport chains
  • WebSphere variables settings
  • Session management custom properties