JVM custom properties

We can use the console to change the values of JVM custom properties.

Application server dmgr Node agent
Servers | Server Types | server_name | Server Infrastructure | Java and process management | Process definition | JVM | Custom properties System Administration | dmgr | Java and process management | Process definition | JVM | Custom properties System Administration | Node agent | nodeagent_name | Java and process management | Process definition | Java virtual machine | Custom properties

If the custom property is not present in the list of already defined custom properties, create a new property, and enter the property name in the Name field and a valid value in the Value field. Restart the server to complete the changes.


allowDeployerRoleGenPluginCfg

Enable users with the deployer role to generate and configure the plugin-cfg.xml file. After setting and saving this custom property, restart the application server.

If the custom property is missing or its value is set to false, the following situations occur when the user has the deployer role permissions:

To disable this function, delete the custom property or set its value to false.

Also, we can set this custom property from the command line and the following Jacl script:

#-------------------------------------------------------------------------
# setAllowDeployer.jacl - Jacl script for setting a the allowDeployerRoleGenPluginCfg
property  
# of the web server plug-in for WebSphere Application Server 
#-------------------------------------------------------------------------
#    This Jacl file modifies the server.xml file for an application server. This script is designed  
#    to be invoked while the AppServer is running.
#
#    Here is an example of how to invoke the script:
#    wsadmin -f setAllowDeployer.jacl &ltnodeName> &ltserverName> &ltenableValue>
 #------------------------------------------------------------------------
proc printUsageAndExit {} {
     puts " "
     puts "Usage: wsadmin -f setAllowDeployer.jacl &ltnodeName> <serverName> <boolEnable>"
     puts "Note: enableValue argument is of type boolean; valid values are true and false."       
     exit
 }
 if { [llength $argv] >= 3 } {
     set nodename [lindex $argv 0]
     set servername [lindex $argv 1]
     set enablevalue [lindex $argv 2]
 } else {
     printUsageAndExit
 }    
set cellname [$AdminControl getCell]
set propname "allowDeployerRoleGenPluginCfg"  
set propdesc "Allow conditional deployer role for plug-in generation and propagation"  
set  required "false"    
set jvm [$AdminConfig getid  /Cell:${cellname}/Node:${nodename}/Server:${servername}/JavaProcessDef:/JavaVirtualMachine:/]
$AdminConfig modify $jvm [subst {{systemProperties {{{name {$propname}} {value {$enablevalue}}  {description {$propdesc}} { required {$ required}}}}}}]   
$AdminConfig save     
exit 0

Usage:


com.ibm.cacheLocalHost

Set true to cache the IP address returned from java/net/InetAddress.getLocalHost for the life of the JVM. This is a performance enhancement that is advised on all processes if the localhost address of a process will not change while it is running.

The address for servers configured using DHCP change over time. Do not set this property unless you are using statically assigned IP addresses for the server.


com.ibm.config.eclipse.wtp.enablejemtrim

Enable the pruning of intermediate DOM nodes after the XML parse of the metadata occurs for an application.

The setting for this property should match the setting for the com.ibm.config.eclipse.wtp.enablexmltrim custom property. Either both of these properties should be left unset, set to false, or set to true

Default: false.


com.ibm.config.eclipse.wtp.enablexmltrim

Enable the sharing of JavaClass instances, and the conversion of expanded JavaClass and JavaMethod objects to lightweight proxies after they are used.

The setting for this property should match the setting for the com.ibm.config.eclipse.wtp.enablejemtrim custom property. Either both of these properties should be left unset, set to false, or set to true.

Default: false.


com.ibm.config.eclipse.wtp.jem=finer

Generate a trace from code areas that are enabled when the com.ibm.config.eclipse.wtp.enablejemtrim custom property is set to true.

Avoid trouble: This property might impact performance. Therefore, this property should only be specified if a problem occurs during the pruning of intermediate DOM nodes after the XML parse of the metadata occurs for an application, and we need to obtain additional information to diagnose the cause of that problem.


com.ibm.config.eclipse.wtp.xmltrim=finer

Generate a trace from code areas that are enabled when the com.ibm.config.eclipse.wtp.enablexmltrim custom property is set to true.

Avoid trouble: This property might impact performance. Therefore, this property should only be specified if a problem occurs with the sharing of JavaClass instances, or the conversion of expanded JavaClass and JavaMethod objects to lightweight proxies after they are used, and we need to obtain additional information to diagnose the cause of that problem.


(V8502) com.ibm.disableCommonsElCache

Disable the commons-el expression cache if you are experiencing out of memory conditions because the hash maps are held by the expression evaluator.

Default: false.


(WAS v8.5.0.1) com.ibm.ejs.ras.disablerasnotifications

Disable and enable RAS service. When set to true, RAS services are disabled. Default: false.


com.ibm.ejs.ras.writeSystemStreamsDirectlyToFile

Support JSR-47 customized logging to write to the SystemOut stream without the format of WAS. The format of WAS includes information, for example, timestamp, thread ID, and some others. An application might not want this information to appear in the SystemOut stream (or perhaps prefer the information to appear in a different format). To disable the format of WAS, set this custom property to true.


com.ibm.ejs.sm.server.quiesceInactiveRequestTime

Specify, in milliseconds, how fast IIOP requests through the Object Request Broker(ORB) can be received and processed. For example, if specified a value of 5000 for this property, the server does not attempt to shut down until incoming requests are spaced at least 5 seconds apart. If the value specified for this property is too large, when the application server is stopped from the console the following error message might be issued:

Default: 5000 (5 seconds).

If we decide to use this custom property, we can specify it as a JVM custom property for either an application server, a node agent, or a deployment manager. It is typically set as an application server JVM custom property.


com.ibm.ejs.sm.server.quiesceTimeout

Specify, in seconds, the overall length of the quiesce timeout. If a request is still outstanding after this number of seconds, the server might start to shut down. For example, a value of 180 would be 3 minutes.

Default: 180.

If we decide to use this custom property, we can specify it as a JVM custom property for either an application server, a node agent, or a deployment manager. It is typically set as an application server JVM custom property.


com.ibm.ffdc.log

Specify where to store first failure data capture (FFDC) data when a failure occurs during product runtime processing. The FFDC feature instantly collects information about the events and errors that lead up to the failure. The captured data can then be used to analyze the problem. After the information is collected, and saved in a log file, FFDC returns control to the affected engines.

Example of use, specifying a folder location for the log file:

Name: com.ibm.ffdc.log
Value: C:\my_FFDC_CP\

Example of use, specifying an actual file name for the log file:

Name: com.ibm.ffdc.log
Value: C:\my_FFDC_CP_log


com.ibm.websphere.application.updateapponcluster.waitforappsave

Specify, in seconds, the amount of time you want the deployment manager to wait for the extension tasks of the save operation to complete before starting the updated application.

Avoid trouble: This property is only valid if it is specified for a deployment manager.

Usually during the save operation for an application update that is being performed using the rollout update process, the extension tasks of the save operation run as a background operation in a separate thread. If the main thread of the save operation completes before the synchronization portion of the rollout update process, the updated application fails to start properly.

When you add this custom property to the deployment manager settings, if the extension tasks of the save operation do not complete within the specified amount of time, the rollout update process stops the application update process, thereby preventing the application from becoming corrupted during the synchronization portion of the rollout update process.

Default: 180.


(zos) com.ibm.websphere.bean.delete.sleep.time

Specify the time between sweeps to check for timed out beans. The value is entered in seconds. For example, a value of 120 would be 2 minutes. This property also controls the interval in the Servant process that checks for timed out beans still visible to the enterprise bean container.

Default: 4200 (70 minutes). The minimum value is 60 (1 minute). The value can be changed through the console. To apply this property, specify the value in both the Control and Servant JVM Custom Properties.


com.ibm.websphere.deletejspclasses

Indicate to delete JSPs classes for all applications after those applications have been deleted or updated. Default: false.

Avoid trouble: In a Network Deployment environment, this property applies to the Websphere Application Server.


com.ibm.websphere.deletejspclasses.delete

Indicate to delete JSPs classes for all applications after those applications have been deleted, but not after they have been updated. Default: false.

Avoid trouble: In a Network Deployment environment, this property applies to the Websphere Application Server.


com.ibm.websphere.deletejspclasses.update

Indicate to delete JSPs classes for all applications after those applications have been updated, but not after they have been deleted. Default: false.

Avoid trouble: In a Network Deployment environment, this property applies to the Websphere Application Server.


com.ibm.websphere.ejb.UseEJB61FEPScanPolicy

Control whether the product scans pre-Java EE 5 modules for additional metadata during the application installation process or during server startup. By default, these legacy EJB modules are not scanned.

Default: false.

Set this property to true for each server and administrative server that requires a change in the default value.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.ejbcontainer.expandCMPCFJNDIName

The EJB container should allow for the expansion of the CMP Connection Factory JNDI Name when a user's JNDI name contains a user defined Application Server variable. The custom property, com.ibm.websphere.ejbcontainer.expandCMPCFJNDIName, makes it possible to expand the CMP Connection Factory JNDI Name.

If the value is true, which is the default, the EJB Container expands a variable when found in the CMP Connection Factory JNDI Name. If the value is set to false, the EJB Container does not expand a variable.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.ejbcontainer.includeRootExceptionOnRollback

Use this EJB custom property to enable the following functionality:

To enable this functionality set this property to true. To disable, this functionality set this property to false.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.jaxrpc.stub.typemapping.per.thread

Indicate whether the JAX-RPC runtime should use thread specific type mapping objects.

The JAX-RPC runtime uses a single TypeMappingRegistry object for all of the JAX-RPC clients. This design is intentional, and allows you to create a JAX-RPC stub and use it on multiple threads. However the singleton TypeMappingRegistry gets contaminated if multiple JAX-RPC Web services with different mappings are invoked concurrently. Even though this situation is uncommon, if it exists on the system, we can set the com.ibm.websphere.jaxrpc.stub.typemapping.per.thread custom property to true to indicate to the JAX-RPC runtime that it can use thread-specific type mapping objects. These separate mapping objects avoid the contamination issue, and the various web service calls will succeed.

Default: false.

Avoid trouble: You should not use this custom property unless you encounter a situation where the singleton TypeMappingRegistry gets contaminated. Enable this property might regress applications that are dependent on access to the same JAX-RPC stub across multiple threads.


com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine

Disable the JAX-RS integration run time from automatically processing the JAX-RS applications. Default: false.

Avoid trouble: Setting this property to a value of true also disables the IBM JAX-RS runtime integration with EJB and JCDI.


com.ibm.websphere.logging.useJULThreadID

Control thread ID type used in WebSphere Application Server log files.

When set to true, LogRecord instances are used to retrieve thread ID. When you set this property to false, Thread instances are used to retrieve thread ID.

Default: false.

For transitioning users: Beginning with v8.5, the default value for this property is false. In earlier versions, the default value for the com.ibm.websphere.logging.useJULThreadID property is true.trns


com.ibm.websphere.management.application.client.EnvEntry_processBindings

Specify how an environment entry value is handled during an application deployment.

If this property has a value of false, an environment entry value is read from, and written to, the deployment descriptor. Any environment entry value specified in the XML bindings is ignored.

If this property is not specified, or has a value of true, an environment entry value specified in the XML bindings is given preference over the value specified in the deployment descriptor. The environment entries from annotations are processed. Default: true.

If an application is deployed with com.ibm.websphere.management.application.client.EnvEntry_processBindings enabled and is then exported to be deployed on a pre-Version 8.0 environment, the environment entry value in the XML bindings are not recognized by both the deployment and runtime environments.

If an application is deployed with com.ibm.websphere.management.application.client.EnvEntry_processBindings enabled and is then exported to be deployed on a v8.0 or later environment, the environment entry value in XML bindings are not recognized by the deployment environment but are recognized by the runtime environment.

Avoid trouble: Do not include the com.ibm.websphere.management.application.client.EnvEntry_processAnnotations custom property in the JVM configuration settings if the com.ibm.websphere.management.application.client.EnvEntry_processBindings custom property is set to true.

Avoid trouble: If the environment contains pre-Version 8.0 nodes and an application is targeted to a pre-Version 8.0 node, set this property with a value of false if you have an environment entry defined in the application and the environment entry value is going to be provided or changed during deployment including install, edit, or update. Otherwise, the application deployment will fail.


com.ibm.websphere.management.application.fullupdate

Specify that when any of the applications are updated, you want the binaries directory erased and the content of the updated EAR file completely extracted.

If this property is not specified, each changed file within an updated EAR file is individually updated and synchronized in the node. This process can be time consuming for large applications if a large number of files change.

Set the com.ibm.websphere.management.application.fullupdate property to:

Avoid trouble:


com.ibm.websphere.management.application.fullupdate.application_name

Specify that when the specified application is updated, you want the binaries directory for that application erased and the content of the updated EAR file completely extracted.

If this property is not specified, each changed file within the updated EAR file for the specified application is individually updated and synchronized in the node. This process can be time consuming for large applications if a large number of files change.

Set the com.ibm.websphere.management.application.fullupdate.application_name property to:

Avoid trouble:


com.ibm.websphere.management.application.keepExistingSharedLibraries

Specify how shared library mappings are handled during application updates.

When false, then the shared libraries specified during the application update operation should replace the original shared library settings. False is the default setting.

When true, after an application is updated, the application and module configurations include the original shared library settings in addition to those specified during the update operation.


com.ibm.websphere.management.application.persistWebContext

Whether the context root and virtual host information for web modules is persisted in the deployment.xml file. If this property is not specified, application deployment has to rely on annotation processing to read the context root and virtual host information, which impacts the performance of application deployment

When true, the context root and virtual host information for web modules is persisted in the deployment.xml file, the persisted data is used for application deployment validation, which improves the performance of application deployment.

Default: false, which means that the context root and virtual host information for web modules is not persisted in the deployment.xml file.


com.ibm.websphere.management.application.sync.recycleappasv5

Specify you want the application recycling behavior to work the same way as this behavior worked in versions previous to v6.x of the product.

In v6.x and higher, after an application update or edit operation occurs, depending on which files are modified, either the application or its modules are automatically recycled. This recycling process occurs for all application configuration file changes, and all non-static file changes.

However, in versions previous to v6.x of the product, an application is recycled only if the EAR file itself is updated, or if the binaries URL attribute changes. An application is not recycled if there is a change to the application configuration file.

Set the com.ibm.websphere.management.application.sync.recycleappasv5 property to:

Default: false.

Avoid trouble: We must define this property in the node agent JVM. However, when defining this property, we can specify a scope of cell if you want the setting to apply to all of the nodes within a specific cell. If this property is set at both the cell and node agent level, the node agent setting takes precedence for that particular node agent.


com.ibm.websphere.management.application.updateClusterTask.serverStopWaitTimeout

Specify, in seconds how long the deployment manager waits for a server to stop completely in the $AdminTask updateAppOnCluster task. By default, the deployment manager waits for 60 seconds. The amount of time specified for this property should be greater than the longest amount of time that it takes to stop a server in the cluster.

This property can only be specified if you are using v7.0.0.1 or higher.

Avoid trouble: This property is only valid if it is specified for a deployment manager.


com.ibm.websphere.management.application.updatesync.appExpansionTimeout

Use the property to specify how long the deployment manager waits to start an application server following an application update. This wait time enables the binaries for the application to be expanded to their directories after the update process completes. The amount of time specified for this property should be the maximum amount of time that any of the applications that reside in a node, take to fully expand their binaries.

By default, the rollout update function waits for 60 seconds, for each application expansion to occur following an update to one or more applications. Because the rollout function can be used to update multiple applications at the same time, the default value for this property is n x 60 seconds, where n is the number of applications that are being updated.

The default wait time might not be sufficient for larger applications. If, after the applications are updated, one or more of these applications do not start when the server starts, we might have to specify a longer length of time for the rollout update function to wait before starting the server.

Avoid trouble: This property is only valid if it is specified for a deployment manager.


com.ibm.websphere.management.configservice.getServerLogRootFromTemplate

Whether the value specified for the SERVER_ROOT variable defined in a server template, or the value of {LOG_ROOT}/serverName should be used when creating an application server or cluster member.

When creating an application server or cluster member, the value of {LOG_ROOT}/serverName is always used instead of the value of theSERVER_ROOT variable defined in an existing server template. If, when creating an application server or cluster member, to use the value of the SERVER_ROOT variable defined in a server template, set this property to true.

If we use this custom property, it must be set for the deployment manager.

When using wsadmin in connected mode, use the AdminTask.setJVMSystemProperties command to set this property at the deployment manager level.

When using wsadmin in LOCAL mode (conntype=none), this property can be passed in as a javaoption:

wsadmin -conntype none -javaoption
"-Dcom.ibm.websphere.management.configservice.getServerLogRootFromTemplate=true"


com.ibm.websphere.management.configservice.sessionIdUniqueness

Prevent duplicated configuration session or workspace ID generation. If different process create randomly generated configuration session or workspace IDs within the same millisecond, it is possible for the IDs to be identical.

To prevent duplicated configuration session or workspace ID generation, add this property to the application server settings and set it to true.

We can use either the AdminTask.setJVMSystemProperties wsadmin command or the console to specify this custom property.

If the application server is part of a federated cell, after you save the changes, you must synchronize the node, and restart each server before this configuration change goes into effect.

If we decide to use this custom property, we can specify it as either a deployment manager or an application server JVM custom property.


com.ibm.websphere.management.configservice.validatePropNames

Whether to enforce character restrictions for custom property names, and for the name value of Property and J2EEResourceProperty configuration objects in wsadmin commands.

We can use one of the following methods to turn off character validation for custom property names, and the name value of Property and J2EEResourceProperty configuration objects in wsadmin commands.


(zos) com.ibm.websphere.management.jmx.random

Enable the controller to randomly select an initial servant from the servant pool to process a JMX connector requests instead of automatically assigning the request to the hot servant.

By default, when multiple servants are enabled and the application server receives a JMX connection request, the application server assigns the request to the first servant, which is also referred to as the hot servant. This strategy minimizes the risk that the request is assigned to a servant that is paged out. However, if the first servant has a heavy workload, requests to that servant eventually fail. Therefore, the advantage of using the random algorithm is that the assigned servant is probably not already handling a lot of other requests. The disadvantage of using the random algorithm is that the selected servant might be paged out and have to be paged back in before it can handle the request.

Set the com.ibm.websphere.management.jmx.random property to:

If we decide to use this custom property, specify it as a JVM custom property for the controller.


com.ibm.websphere.management.nodesync.skipWebServerTarget

Control whether application binaries are distributed to target nodes in which the application only targets web servers.

By default, the custom property value is set to false, which causes the application server to distribute application binaries to target nodes. If we set this custom property to true, the application server does not distribute application binaries to target nodes containing web server targets only.

Important: System behavior is not affected by this custom property value. Also, it is not affected by the node synchronization change that led to a change in this custom property value for target nodes containing application server targets. These statements are true regardless of whether web server targets are included in that same node.

The following sample output shows the isAppReady output, which is generated for web server-only target nodes when you set this custom property to true:

We can set this custom property for the deployment manager, but not the application server or node agent. We can use the console or complete the following steps using a command-line:

  1. Start the wsadmin scripting tooling from the profile_root/bin directory. You need to start the .wsadmin.bat or wsadmin.sh command within that directory.

  2. Run one of the following commands:

    Jacl

    $AdminTask setJVMSystemProperties {-serverName server_name -nodeName node -propertyName com.ibm.websphere.management.nodesync.skipWebServerTarget -propertyValue true}

    Jython string.../dt>

    AdminTask.setJVMSystemProperties('[-serverName server_name -nodeName node -propertyName com.ibm.websphere.management.nodesync.skipWebServerTarget -propertyValue true]')

    Jython list

    AdminTask.setJVMSystemProperties (['-serverName', 'server_name', '-nodeName', 'node' '-propertyName', 'com.ibm.websphere.management.nodesync.skipWebServerTarget', '-propertyValue', 'true'])

    where the server_name and node variables are specific to the environment.

  3. Restart the deployment manager.


com.ibm.websphere.management.processEmbeddedConfigGlobal

Use this property to globally enable or disable processing of the embedded configuration of enhanced application EAR files during deployment. An enhanced EAR file results when you export an installed application.

This custom property overrides globally the default setting for the Process embedded configuration (-processEmbededConfig) option. By default, Process embedded configuration is set to true (selected) for enhanced EAR files and false (deselected) for all other EAR files. The Process embedded configuration setting determines the directory to which the product expands an enhanced EAR file during deployment of the enhanced EAR file. If we exported an application from a cell other than the current cell and did not specify the $(CELL) variable for Directory to install application when first installing the application, setting Process embedded configuration to false during deployment of an enhanced EAR file extracts the enhanced EAR file in the app_server_root/profiles/installedApps/current_cell_name directory. Otherwise, if Process embedded configuration is set to true, the enhanced EAR file is expanded in the app_server_root/profiles/installedApps/original_cell_name directory, where original_cell_name is the cell on which the application was first installed. If we specified the $(CELL) variable for Directory to install application when you first installed the application, installation expands the enhanced EAR file in the app_server_root/profiles/installedApps/current_cell_name directory.

When this processEmbeddedConfigGlobal custom property is set to false, the product does not process the embedded configuration of any application, including enhanced EAR files, during deployment. After setting processEmbeddedConfigGlobal to false, the product does not process the embedded configuration of enhanced EAR files. However, when deploying an individual enhanced EAR file, we can override this false setting by explicitly setting Process embedded configuration to true.

When this processEmbeddedConfigGlobal custom property is set to true, the product processes the embedded configuration of enhanced EAR files.

Regardless of whether this processEmbeddedConfigGlobal custom property is set to true or false, the product deploys applications that do not have embedded configurations as usual. The setting has no effect on deployment.

(zos) Avoid trouble: If we decide to use this custom property, you must either specify this property and its value as a JVM custom property for both the Control and Servant, or add this property to the wsadmin.properties file.

Avoid trouble: If we decide to use this custom property, you must either specify this property as a JVM custom property for the deployment manager, or add this property to the wsadmin.properties file.


(zos) com.ibm.websphere.management.registerServerIORWithLSD

Control whether a federated server registers with the Location Service Daemon (LSD). Normally, a federated server requires the node agent to be running. To direct the server to not register with the LSD and remove its dependency on an active node agent, the com.ibm.websphere.management.registerServerIORWithLSD JVM custom property must be set to false, and the ORB_LISTENER_ADDRESS must be set to a value greater than 0 so that the ORB listens at a fixed port. The setting for this property is ignored if the ORB_LISTENER_ADDRESS property is set to 0 (zero) or is not specified, and the federated server registers with the LSD.

Set this property to false if you want the server to run even when the node agent is not running. When true, the federated server registers with the LSD. Default: true.

(dist) Avoid trouble: This property already exists in the list of ORB Service custom properties. To change the setting for this custom property, in the console, click Servers> Application Servers > server_name > session management > Container Services > ORB Service > Custom Properties > com.ibm.websphere.management.registerServerIORWithLSD

After you change the value for this custom property, you must do a full synchronization before this change is reflected in the server.xml file on the node. If we cannot start the node agent for the server, you must manually edit the server.xml file to change the value of this custom property from true to false.

When set the com.ibm.websphere.management.registerServerIORWithLSD property to false, the server does not notify the node agent when it dynamically assigns the ORB_LISTENER_ADDRESS port. There also will not be any indirect Interoperable Object References (IORs) that the node agent can resolve to a server. All of the IORs become direct, which means that the node agent can only contact that server if a static ORB_LISTENER_ADDRESS has been assigned to that server.

Avoid trouble: If we set the com.ibm.websphere.management.registerServerIORWithLSD property to false and do not intend to use the high availability manager (HAManager) service and node agent process, then you should create a static routing table to enable static routing. Enable static routing ensures that workload management (WLM) continues to function properly. You use com.ibm.websphere.management.registerServerIORWithLSD to prevent indirect IORs from being returned for any services being provided by the application servers (and having the node agent then map these indirect IORs to direct IORs).

The use of the node agent establishes a known port on the server side to which the client can send requests when the ports for the application servers is not known. Creating a static routing table and enabling static routing provides static ports for the application servers and make these ports available for use. With static ports, node agent processing is not necessary.

With dynamic application server ports, we cannot use the static routing table. Node agent processing is required with dynamic application server ports, because the client needs to obtain the new port information when the servers are restarted.

Set the com.ibm.websphere.management.registerServerIORWithLSD property does not affect the use of either dynamic or static ports or the routing of requests by WLM. However, you do lose a potential level of failover provided by the node agents of the HAManager.

WLM processing is retained with weighted spraying of requests.


(V8502) com.ibm.websphere.management.soapSocketConnectionTimeout

Specify, in seconds, how long a JMX SOAP connector socket should remain open. If we do not specify a value for this property, the JMX SOAP connector socket connection stays open indefinitely.


(WAS v8.5.0.1) com.ibm.websphere.management.useUpdatedPropertyFiles

Create new mail sessions using the updated properties file template.

Set this property to true to use the updated properties file configuration template to create new mail sessions. The updated properties file configuration template will be used instead of the original properties file configuration template.

Best practice: You should enable com.ibm.websphere.management.useUpdatedPropertyFiles unless you used the original properties file template to extract WebSphere Application Server configuration objects to the property files.bprac

After setting the system property, save the changes. If the application server is part of a federated cell, synchronize the node to propagate the changes. Restart each server for the changes to take effect.

This property is not enabled by default.


com.ibm.websphere.metadata.ignoreDuplicateRefBindingsInWebModules

Control whether the JVM ignores instances of duplicate reference bindings in the DTD file for a web module in a J2EE version 1.3 application. Typically a MetaDataException occurs if the DTD file for a web module in a J2EE version 1.3 application contains duplicate references.

The standards for the DTD file for a web module specifically states that the reference bindings must have a unique name fields. Therefore, an application containing a web module that includes duplicate reference bindings is technically a non-compliant application.

Although the standards for the DTD file for a web module forbids a user from defining duplicate reference bindings, the JVMs in versions of the product that preceded 7.0 tolerate duplicate reference bindings. If we have DTD files for web modules in Java 2 Platform, Enterprise Edition (J2EE) version 1.3 applications containing duplicate reference bindings, we can either remove the duplicate reference, or add this property to the JVM configuration settings, and set the property to true.


com.ibm.websphere.network.useMultiHome

Use this property in a multihomed environment to indicate on which IP addresses the application server listens. In a multihomed environment, there is normally a specific IP address that the application server is restricted to listening on for Discovery and SOAP messages. Setting the com.ibm.websphere.network.useMultiHome property to:

(zos) In a multihomed environment where the product is restricted to listen only on a specific IP address for Discovery and SOAP messages, set this property to false for the deployment manager, all application servers and all node agents. By default, the value of the property is true and the application server listens on all IP addresses on the host for Discovery and SOAP messages. If the property is set to false, the product only listens for Discovery and SOAP messages on the configured host name. If we set the property to false, you must also:

We can change the value through the console. Modify the defaults by setting the value for the server, deployment manager, and node agent. In order for these changes to take place, you must restart the server.

If we cannot contact the server, check the setting for com.ibm.websphere.network.useMultihome to ensure it is correct. We can change the value through the console. Modify the defaults by setting the value for the server, deployment manager, and node agent. We must restart the server before these changes take effect.


(v8552) com.ibm.websphere.perf.tuning.disableRPARepositoryCache

Prevent the caching of server configuration details when RPA is disabled.

RPA uses a repository cache to store the configuration details of the server. This cache is initialized and configuration details are stored even if RPA and PMI are disabled. The repository cache can become quite large for extremely large installations, such as an installation that has over 3000 datasources. If we encounter performance problems because of the size of this repository cache, and RPA is disabled, add this property to the JVM configuration settings and set it to true. You should not use this custom property if RPA is enabled, or if you are not encountering performance problems because of the size of this repository cache.

Avoid trouble: You should not use this custom property if RPA is enabled, or if you are not encountering performance problems because of the size of this repository cache.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


(WAS v8.5.0.1) com.ibm.websphere.resource.xmlConfigMaxLineLength

Specify a preferred maximum line length for XML configuration documents.

Lines at the beginning of a server.xml file often exceeds 2048 characters in length. Lines exceeding 2048 characters in length cannot be processed by common text editing tools on some operating systems, such as z/OS. Therefore, when you edit and save a file that includes lines exceeding 2048 characters, the long lines are truncated. This truncation makes the configuration file unusable, and causes the server startup to fail.

If we specify a value for this the property, when you edit and save an XML configuration document, the line breaks will occur as soon as possible after the number of characters in the line reaches the specified maximum number of allowable characters. The line breaks still occur at logical breaking points, which is why the line lengths might still exceed the specified maximum. Therefore the value specified for this property should take into account the number of characters that might exceed the specified maximum to ensure that none of the lines in the document exceed 2048 characters.

If we do not specify a value for this property, lines are allowed to grow to any length.

An acceptable value for this property is an integer in the range 80 to 2046, inclusive.

There is no default value for this property.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.sib.webservices.useTypeSoapArray

We can pass messages directly to a bus destination by overriding the JAX-RPC client binding namespace and endpoint address. However:

Here are examples of the two different messages:

Set this property to true to modify the default behavior and send a string array message that is fully compatible with standard JAX-RPC. Setting this property modifies the default behavior for all outbound JMS web services invocations sent from the service integration bus.


com.ibm.websphere.webservices.attachment.tempfile.expiration

Indicate, in seconds, an expiration time for an attachment on a JAX-WS or Service Component Architecture (SCA) client or service. If an attachment is not accessed for a period of time greater than the expiration time, the web service runtime is allowed to delete the attachment.

The JAX-RPC programming model allows access to attachments from incoming Web service messages. The attachment might be accessed immediately, or might be stored for later processing. Therefore, the memory associated with the attachment might persist much longer than the lifetime of the Web service interaction. because there is no precise length of time after which the Web service runtime can safely free the attachment.

For small attachments, the memory is eventually freed by the Java garbage collector.

For large attachments, the JAX-RPC runtime stores the attachment data in a temporary file, thereby allowing the runtime to process extremely large attachments without consuming memory. If the application does not access the attachment, or if the application does not adequately close the data handler associated with the attachment, the large temporary file is not freed. Over time, these temporary attachment files might accumulate on the file system if no expiration time is specified for these files.

Best practice: A setting of 600 is recommended if specify an expiration time for these attachments. The default setting for this custom property is 0 seconds, which indicates that there is no expiration time for these attachments.bprac

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.attachements.maxMemCacheSize

Specify, in kilobytes, the maximum size of an attachment on the JAX-RPC client or service that can be written to memory. For example, if the web service needs to send 20 MB attachments, set the property to 20480.

When determining a value for this property, remember that the larger the maximum cache size, the more impact there is on performance, and, potentially, to the Java heap.

If we do not specify a value for this property, the maximum memory used to cache attachments is 32 KB, which is the default value for this property.

Supported configurations: To specify the maximum size of an attachment on the JAX-WS client or service, see the com.ibm.ws.websvcs.attachments.sizethreshold custom property.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.DisableIBMJAXWSEngine

Use this property to turn off web services annotation scanning at the server level. By default, web services annotation scanning is enabled at the server level.

To turn off annotation scanning at the application level, set the DisableIBMJAXWSEngine property in the META-INF/MANIFEST.MF of a WAR file or EJB module to true.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.http.OneWayConnectionRecycleTime

Specify, in seconds, how long the web services engine should wait before reusing a one-way connection. When a one-way connection is reused too quickly, a web service operation might fail on the client because of a timeout problem, such as a SocketTimeoutException.

When a value is specified for this property, one-way connections are not reset until the specified number of seconds elapses, starting from when the request is sent.

By default, this property is not set and one-way connections are reset immediately after the request is sent.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.http.waitingThreadsThreshold

Specify how many waiting connection requests are tolerated before releasing soft connections. A soft connection occurs when a client engine maintains connection objects for some hosts after the connection is closed. By default, after five threads are waiting for connections, the client engine releases the soft connections.

If all of the connections are being used, the custom property does not have an impact. In this situation, we can increase the maximum connection limit, the maximum number of threads, or both.

The default value for this custom property is 5.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.jaxrpc.client.publishwsdl

Whether a WSDL file is published for a client web module. When true, if an application contains a client web module, a WSDL file might be published for that client. If we do not want WSDL files published for the client applications, set this property to false.

Default: true.

Avoid trouble:

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.management.connector.http.header.includeProductVersion

Set this to a value of true to include server version information in the SOAP port HTTP response header. The default is false.


(WAS v8.5.0.1) com.ibm.websphere.webservices.jaxws.setLinkValuePrecedence

Specify the precedence of link values in the JAX-WS runtime environment.

When true, deployment descriptor link values have precedence over annotation link values.

Default: false.


com.ibm.websphere.webservices.soap.enable.legacy.get.behavior

Starting in WebSphere Application Server v8, the SOAPMessage.getSOAPHeader and getSOAPBody methods throw a SOAPException if there is no corresponding element in the message. A system property, com.ibm.websphere.webservices.soap.IBMSOAPMessage.ENABLE_LEGACY_GETSOAP_BEHAVIOR, is provided to revert the behavior to return null rather than throw an exception. This system property is set using a JVM custom property, com.ibm.websphere.webservices.soap.enable.legacy.get.behavior. The default value for this JVM custom property is false. Setting this JVM property to true will revert to the previous behavior, which is to return a null for SOAPMessage.getSOAPHeader and getSOAPBody methods when there is no corresponding message.

The previous behavior of returning null is not compliant with the specification.


com.ibm.websphere.webservices.tempAttachDir

Specify the location on a storage device where you want the web services runtime to cache a copy of any attachment , that is greater than 32KB in size, that is being sent or received as part of a SOAP message.

For performance reasons, the web services runtime caches a temporary copy of any SOAP message attachment that is greater than 32KB in size. If we do not specify a value for this property, the cached copy of the attachment is typically sent to the default temporary directory for the operating system.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.transport.jms.messageType

Control the JMS message type used by the web services engine for SOAP over JMS components when sending request and response messages. To specify a JMS BytesMessage (javax.jms.BytesMessage) object, set the property to BYTES to indicate the body of the message is binary data. To specify a JMS TextMessage (javax.jms.TextMessage) object, set the property to TEXT to indicate the body of the message is string data.

The default value for this custom property is BYTES.

To learn more about the SOAP over JMS message types, see the configuring SOAP over JMS message types information.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.transport.OPTIMIZE_HTTP_HEADERS

Prior to v8, a JAX-WS client application for WebSphere Application Server might send a SAVE_CONNECTION HTTP header in a SOAP message. This additional header ensures that proper processing occurs by the application server that is hosting the JAX-WS web service. However, this SAVE_CONNECTION header and the additional processing is not necessary if the application server for the client and the application server host for the web service are both using WAS v7 Fix Pack 3 or later.

We can set the com.ibm.websphere.webservices.transport.OPTIMIZE_HTTP_HEADERS custom property to false to enable the SAVE_CONNECTION header to ensure proper processing by older application server levels. By default, this custom property is set to true, which disables the JAX-WS client from sending the SAVE_CONNECTION header. If we need to change this default behavior, set the custom property to false on the application server that is hosting the JAX-WS client application.

Important: We must verify that the application server for the client and application server host for the web service are both using v7.0 Fix Pack 3 or later.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.transport.ssl.loadFromPolicyBinding

Control whether JAX-WS applications use SSL transport bindings or the system default SSL settings when the client is a managed client, and the client and the server are in different application servers.

When creating an SSL binding, this property is automatically added to the bindings file, and set to true. This setting enables SSL transport bindings to be used for JAX-WS applications when the client is a managed client, and the client and the server are in different application servers. If no bindings are attached to the JAX-WS application, set this property to false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.UseWSFEP61ScanPolicy

Control whether the product scans WAR 2.4 and earlier modules for JAXWS components and semi-managed service clients. By default, these legacy WAR modules are only scans for semi-managed service clients.

Default: false.

Set this property to true for each server and administrative server that requires a change in the default value.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.WSDL_Generation_Extra_ClassPath

Set the location of the shared class files. The wsgen command-line tool generates the necessary artifacts required for JAX-WS applications when they start from Java code. However, the wsgen command-line tool might not locate the necessary class files and append the following error messages to the log file:

Caused by: java.lang.NoClassDefFoundError
...
at com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.wsgen(WASWSDLGenerator.java:521)
at com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.generateWsdl(WASWSDLGenerator.java:183)
Provide the fully qualified location to the missing class files. With this custom property, you should provide fully qualified paths to multiple Java archives (JAR) and directories and separate them using a semicolon (;). To avoid trouble, set this property to all JVM processes, including deployment manager, node agent and application server.

Important: If the base operating system for WebSphere Application Server is AIX , Linux, or UNIX, then use a colon (:) to separate the multiple Java archives (JAR) and directories.


Example: D:\sharedlibs;D:\libs\WSBean.jar

If we decide to use this custom property, specify it as an application server JVM custom property.

(zos) Remember: Set this property for both the controller and the servant. We can set this property for the servant as follows:

(zos) Avoid trouble: To set this property on z/OS, set the property for both the Control and Servant JVM Custom Properties in the console:


(WAS v8.5.0.1) com.ibm.websphere.websvcs.EJBPostInvokeCallOnException

Clean up the state and transaction following an exception in a web-services-invoked EJB.

On installations of WAS that use JAX-WS web services, when an exception occurs in an EJB that is invoked as part of a web service, transactions could remain active on a thread and prevent a transaction associated with the current XA transaction flow from resuming. Set this property to true to ensure complete cleanup of the state and transaction.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


(WAS v8.5.0.1) com.ibm.websphere.workspace.decodeclustervariable

Ensure that variables defined at a cluster scope are expanded when they occur in log file paths defined in the console.

If not set, and cluster scoped variables are used to define log file paths, then the deployment manage might fail to retrieve the requested log file. Therefore, you should add this property to the deployment manager JVM settings if you include cluster scoped variables in the log file paths.

Default: false.

If we decide to use this custom property, specify it as a deployment manager JVM custom property. After setting this property to true, you must restart the deployment manager before this change goes into effect.


com.ibm.websphere.wsrm.MaxSequenceBacklog

Configure the maximum number of messages on an outbound WS-RM sequence.

When the defined limit is reached, WS-RM will reject any new messages by throwing a javax.xml.ws.WebServiceException exception until the backlog decreases below the limit. Clients receiving an exception should retry the request.

There is no default value set. If no value set is defined, the backlog limit is infinite.


com.ibm.websphere.wsrm.MessageContextCacheSize

Set the maximum size of the in-memory cache to a positive integer value.

There is no default value set. The size of the cache is infinite.


com.ibm.websphere.wsrm.pollingInterval

Specify the frequency with which MakeConnection requests are made for a Sequence.

The value specifies the interval in milliseconds. The default behavior when the property is no set is 3000 milliseconds.


com.ibm.websphere.wsrm.retransmissionInterval

Specify the frequency with which WS-RM retransmits application messages when previous attempts to transmit the message have failed.

The value specifies the interval in milliseconds. The default behavior when the property is not set is 15000 milliseconds.


(v8552) com.ibm.ws.amm.require.produces.annotation.for.cdi

WebSphere Application Server incorrectly ignores the following annotations (@EJB, @WebServiceRef, @PersistenceContext, @PersistenceUnit, and @Resource) unless an @Produces annotation is present on the CDI bean. This behavior is incorrect since there is no Java EE requirement that the @Produces annotation be present. Since existing applications have dependencies on this incorrect behavior, the specification-incorrect behavior remains the default. This custom property is provided to allow you to obtain the specification-correct behavior by setting the property to false.

Set the property to false to obtain the specification-correct behavior when all of the following are true:


com.ibm.ws.amm.scan.context.filter.archives

Provide a list of archives, or utility JAR files, that do not contain annotations. Archives or utility JAR files specified for this property are not be scanned for annotations.

When a Java EE 5 or 6 application is deployed or updated, the Annotations Metadata Manager (AMM) facility scans all of the annotation metadata. This scanning process can negatively affect the amount of time required to deploy an application. If the application includes archives or utilities that do not contain annotations, we can list these archives and utilities as the value for this property. If the application includes Java Packages that do not contain annotations, we can list them as the value for the Ignore-Scanning-Packages property.

The values specified for this properties are case sensitive, and must be expressed as a single string with a comma followed by a space used to separate the names of the archives or utility JAR files. Wildcards and REGEX expressions are not permitted.

Alternatively to using this custom property, we can add the Ignore-Scanning-Archives property to one of the following files or modules, and specify the archives and utilities that we do not want scanned as the value of that property:

Values specified in the amm.filter.properties files are merged with those found in this custom property to form a server scoped set of filters. This merged set of filters applies to all of the applications that are deployed on that server.

Values specified in the manifest file of an application are merged with the server scoped set of filters to form a module scoped superset that applies to all modules within that application.

Values specified in the manifest file of a web or EJB module are merged with the module scoped set of filters. This merged set of filters only applies to that module.

Avoid trouble: Exercise caution if you update a manifest file. Manifest files have line length limitations, and other constraints that must be adhered to.

Example:


com.ibm.ws.amm.scan.context.filter.disable.unifyTrue

Use this property only if we need to filter certain JAR files from annotation scanning by the Annotations Metadata Manager (AMM), but you want the files to be scanned by the Extensible Class Scanner (ECS) layer. To enable this property, set the value to true.

Default: false.


com.ibm.ws.amm.scan.context.filter.packages.

Provide a list of Java Packages that do not contain annotations. The Java classes specified for this property are not scanned for annotations.

When a Java EE 5 or 6 application is deployed or updated, the Annotations Metadata Manager (AMM) facility scans all of the annotation metadata. This scanning process can negatively affect the amount of time required to deploy an application. If the application includes Java Packages that do not contain annotations, we can list them as the value for this property. If the application includes archives or utilities that do not contain annotations, we can list them as the value for the Ignore-Scanning-Archives property.

The value specified for this property are case sensitive and must be expressed as a single string with a comma followed by a space used to separate the names of the Java Packages. Wildcards and REGEX expressions are not permitted.

Alternatively to using this custom property, we can add the Ignore-Scanning-Packages property to one of the following files or modules, and specify the archives and utilities that we do not want scanned as the value of that property:

Values specified in the amm.filter.properties files are merged with those found in this custom property to form a server scoped set of filters. This merged set of filters applies to all of the applications that are deployed on that server.

Values specified in the manifest file of an application are merged with the server scoped set of filters to form a module scoped superset that applies to all modules within that application.

Values specified in the manifest file of a web or EJB module are merged with the module scoped set of filters. This merged set of filters only applies to that module.

The following example is properties file centric and cannot be used as is for a manifest file. Manifest files have a 72 byte line length limit, as well as other constraints that must be adhered to.

Example:


com.ibm.ws.application.enhancedScanning

Disable several optimizations that decreases the time to deploy and start enterprise applications. The optimizations primarily involve JEE (Java EE 5)-enabled applications. When you set this property to false, the following updates are disabled:

If we set this property to false, you might experience decreases in performance. Default: true.


com.ibm.ws.cache.CacheConfig.alwaysSetSurrogateControlHdr

Use this property to force the surrogate-control header from the dynamic cache service to always be set on the response. The surrogate-control header contains the metadata that the Edge Side Include (ESI) processing needs to correctly generate, and invalidate the cached content in the ESI cache.

Default: false, which means that the surrogate-control header might not be set on the response.

If we decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


com.ibm.ws.cache.CacheConfig.cascadeCachespecProperties

Enable child pages or fragments to inherit the cascade of save-attributes, and store-cookies properties from their parent pages or fragments. Default: false.

The default behavior of the dynamic cache service is to store the request attributes for a child page or fragment, if not explicitly overridden in the cache specification. An application server can run into an Out-Of-Memory condition in scenarios where these request attributes get too large. If the attributes saved by default are not serializable, then the disk offload of these cache entries results in java.io.NotSerializableExceptions.

If we decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


com.ibm.ws.cache.CacheConfig.filteredStatusCodes

Indicate error situations in which we do not want the dynamic cache service to cache the servlet output.

The value specified for this property is a space delimited list of HTTP response error codes. If the status code returned from a cache miss matches one of the listed response error codes, the dynamic cache service does not cache the data that was obtained in response to an HTTP request.

If we decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


(V8502) com.ibm.ws.cache.CacheConfig.use61EntrySetBehavior

Use this property to return a set view of the mappings contained in the map.

When com.ibm.ws.cache.CacheConfig.use61EntrySetBehavior is defined and set to true the DistributedMap.entrySet() method returns a set view of the mappings contained in the map.

This custom property can be set as a JVM custom property at Servers > Application servers > <server name> > Process definitions > Java Virtual Machine > Custom properties.

Define this JVM custom property affects all cache instances. This property is specified at the application server level.


com.ibm.ws.CacheConfig.alwaysTriggerCommandInvalidations

Ensure that command invalidations are triggered regardless of the skipCache attribute.

When a request object contains the <previewRequest> attribute the dynamic cache sets the skipCache attribute to true. When the skipCache attribute is true, commands are not always invalidated. Set the com.ibm.ws.CacheConfig.alwaysTriggerCommandInvalidations custom property to true to ensure that command invalidations are triggered regardless of the skipCache attribute. When you set this custom property, it affects all cache instances. Default: false.

This custom property is set on the application server level only.

If we decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


com.ibm.ws.classloader.allowDisposedClassLoad

Whether the JVM should fully dispose of an application class loader when the application is stopped. If the JVM does not fully dispose of an application class loader, classes can still be loaded from that class loader.

When this property is set to a value of true, the JVM does not fully dispose of an application class loader when the application is stopped.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.classloader.encodeResourceURLs

Whether the application class loaders, such as EAR, web module, and shared library loaders encode spaces in resource URLs. If true, spaces are encoded as "%20" in the URLs that either a getResource or getResources call returns.

Default: true. If false, warning message WSVR0333W displays in the logs. This message indicates that the use of the false setting for this property has been deprecated.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.classloader.strict

Enable the WAS application class loader to provide access to the META-INF directory through a getResources call even if the META-INF directory path does not include a trailing slash

The WebSphere Application Server application class loader does not, by default, provide access to the META-INF directory through a getResources call unless a trailing slash is specified at the end of the META-INF directory path. The WebSphere Application Server application class loader to provide access to the META-INF directory through a getResources call even if a trailing slash is not specified at the end of the META-INF directory path, set this property to true.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.classloader.zipFileCacheSize

Specify the maximum number of application JAR files that can be held open for resource and class loading. Reducing the number of times JAR files must be opened, improves the performance of applications that are resource or class loading intensive.

When the specified limit of open JAR files is reached, the class loader starts to close and remove JAR files based on the last time they were accessed. The most recently accessed JAR files are kept open. The value specified for this property should be based on the total number of application JAR files that are frequently accessed.

Default: 8. Specifying a value of 0 disables the cache and prevents application JAR files from being held open.

Avoid trouble: Avoid Trouble: Do not use the Microsoft Windows Hot Deployment function if specified a value other than 0 for this property.

If we decide to use this custom property, specify it as an application server JVM custom property.


(v8552) com.ibm.ws.cscope.HighlyAvailableIORsEnabled

Allow the administrator to configure the compensation service to generate highly available IORs for distributed business activity CORBA objects, which enables distributed subordinate business activities that have failed to be completed during peer recovery. This property also permits new business activities when the nodeagent is not running.

Default: false. Specifying a value of true enables this property. Set on each application server in the cluster.


com.ibm.ws.el.reuseEvaluationContext

Indicate that the same EvaluationContext object can be reused on a per thread basis.

Typically, during the evaluation of expressions the Unified EL code creates a new org.apache.el.lang.EvaluationContext object for each call that is made. Because these objects are subsequently made available for garbage collection, as the number of objects created increases, memory consumption and garbage collection also increases. Setting the com.ibm.ws.el.reuseEvaluationContext property to true enables the same EvaluationContext object to be reused on a per thread basis, thereby decreasing memory consumption and the amount of garbage collection that needs to occur.

Default: false.


com.ibm.ws.http.ConnectionIOTimeout

Extend the timeout of the SOAP port between the time a connection is established and the time transmission of data from the client begins. Default: 5 seconds (15 seconds on Liberty). This might need to be increased if a SOAP server or client JVM is very busy, or an SSL handshake is taking an extended period of time. An HTTP 408 message might be received from the SOAP server if this timeout occurs.


(zos) com.ibm.ws.iiop.channel.disableOnewayLocateRequiredMessage

Control whether the CWZGB0005I message displays whenever a oneway GIOP request against an object requires further locate-forward addressing. If the property is set to false, the CWZGB0005I message is displayed. If the property is set to true, the CWZGB0005I message is not displayed.

Default: false.


com.ibm.ws.jsf.allow.interpolator.per.app

The JSF container has been updated to allow a MessageInterpolator to be defined and used for each application, and it is not shared across applications. This property must be set to true for the new behavior to be enabled:


(v8552) com.ibm.ws.jsf.call.publishevent.with.sourceclass

Ensure that the proper source class is used when calling javax.faces.Application.publishEvent. By default, when calling javax.faces.Application.publishEvent, the UIComponent.class is always used rather than the actual source class. However, the sourceBaseType parameter should indicate the source event that must be used to lookup the listener to which this event must be published. If this argument is null the return from source.getClass() must be used as the sourceBaseType.

Default: false.


com.ibm.ws.jsp.enhance_el_support

Control how an expression is handled. During the evaluation of an expression, the value is coerced to the expected type based on Section 1.8.2 of the Expression Language Specification v2.1. This coercion can result in unexpected results as the expression value might not be the expected type. Set this property to true to prevent this coercion.

Default: false.


com.ibm.ws.management.connector.soap.logClientInfo

Indicate whether to log the host, port, and username of SOAP client requests. When true, SOAP client details are logged in SystemOut.log. These details are also added to trace.log if the trace level for the SOAP connector is set to all.

Default: false.


com.ibm.ws.management.connector.soap.waitBeforeCloseTime

Change the length of time specified for the server SOAP connection timeout. When using the localhost adapter on a Microsoft Windows operating system, the server SOAP connection timeout, which defaults to 10 milliseconds, allows large amounts of data to be streamed without interruption.

If too short a length of time is specified for this property, a SOAPException for premature end of stream might occur on the server side of the connection when a large amount of data is streamed.

Specify a value of 0 disables the timeout.


com.ibm.ws.management.event.max_polling_interval

Specify the maximum amount of time the server waits before it asks or gets notifications from the client. The default polling interval is 1000 milliseconds (1 second). If a property value is not specified, the default value is used.

For a SOAP or IPC connector, we can use this property to tune that connector such that the amount of time the server waits for a poll notification from the client matches the time interval the server would wait if you were using an RMI connector.

If this property value is set to -1, the client polls for notifications based on a built-in adaptive algorithm that changes the polling interval based on the number of notifications that the client receives. A time interval of 3 to 20 seconds can elapse between polls before the first notification is received.

For transitioning users: Prior to v8.0, if a value was not specified for the com.ibm.ws.management.event.max_polling_interval property, client polls for notification were based on the built-in adaptive algorithm that changes the polling interval based on the number of notifications that the client receives.trns

This property must be specified for the client-side JVM.


com.ibm.ws.management.event.pull_notification_timeout

Specify the amount of time the client waits before polling notification from the server. The default timeout is 60000 milliseconds (60 seconds or 1 minute). If a property value is not specified, the default value is used.

If the property value is set to 0 (zero) or to a negative number such as -1, the server returns to the client immediately even if no notification is available.

For transitioning users: Prior to version 8.0, if a value was not specified for the com.ibm.ws.management.event.pull_notification_timeout property, the server returned to the client right away even if no notification was available.trns

This property must be specified for the server-side JVM.


com.ibm.ws.management.repository.tempFileKeepTimeMinutes

Specify, in minutes, how long a file is kept in the configuration repository temporary directory before the configuration repository temporary directory cleanup task can delete that file from the directory. Default: 1440 minutes, which is equal to 24 hours. In previous versions of the product, a file was kept for 60 minutes.

Default: typically sufficient for performing needed cleanup without deleting files that are in use. However, there might be situations where specify a larger, or smaller value. We can specify a minimum value of 60 minutes for this property. However, IBM recommends specified a value that is equivalent to several hours to account for situations where very large files are being transferred or synchronized, or where a network is slow, and file transfer operations are taking a long time. In these situations, if too short a time period is specified, it is possible for a file to be deleted while it is still being transferred.

If the com.ibm.ws.management.repository.tempFileSweepIntervalMinutes property is set to 0, the cleanup function is disabled, and any files left behind after a server process failure, remain in the configuration repository temporary directory until they are manually removed, or the cleanup function is enabled.

Avoid trouble: If an invalid value is specified for this property, the default value is used.


com.ibm.ws.management.repository.tempFileSweepIntervalMinutes

Specify, in minutes, how frequently the configuration repository temporary directory cleanup task runs. This task removes files from the configuration repository temporary directory that were not properly removed because of a server process failure.

The cleanup task always runs when the server starts, and then again after the time length specified for this property expires. Default: 720 minutes, which is equivalent to 12 hours. This length of time is typically sufficient for the configuration repository temporary directory cleanup task to successfully complete the cleanup process. We can disable this cleanup function by setting this property to 0.

In previous versions of the product, the cleanup task ran when the server started, and then ran again every 30 minutes.

Avoid trouble: If an invalid value is specified for this property, the default value is used.


com.ibm.ws.management.suppressPortScan

Set this property to a value of true to suppress port activity checking by the deployment manager when new servers are created. When set to true, the deployment manager will not attempt to bind or connect to a new port before using the port in a server configuration. Suppression of port activity checking can lead to port conflicts if other applications have active ports. Default: false.


com.ibm.ws.management.taskcommandtimeoutsec

Set this property to a value in seconds if a SessionTimeoutException from TaskCommandSessionMgr occurs when performing a long running application update. Default: 1200 seconds (20 minutes).


com.ibm.ws.odr.plugincfg.config.ASDisableNagle

Whether to disable the Nagle algorithm for the connection between the plug-in and the proxy server.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: false, which means that the Nagle algorithm is enabled for the connection between the plug-in and the proxy server.


com.ibm.ws.odr.plugincfg.config.AcceptAllContent

Whether we can include content in POST, PUT, GET, and HEAD requests when a Content-Length or Transfer-encoding header is contained in the request header. We can specify one of the following values for this attribute:

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: false.


com.ibm.ws.odr.plugincfg.config.AppServerPortPreference

Which port number is used to build URI's for a sendRedirect.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: HostHeader.


com.ibm.ws.odr.plugincfg.config.ChunkedResponse

Whether the plug-in groups the response to the client when a Transfer-Encoding : Chunked response header is present in the response.

We can specify one of the following values for this attribute:

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: false.


com.ibm.ws.odr.plugincfg.config.IISDisableNagle

Whether to disable the nagle algorithm.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: false.


com.ibm.ws.odr.plugincfg.config.IISPluginPriority

Specify the priority in which the Web server loads the plug-in. We can specify one of the following values for this attribute:

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: High.


com.ibm.ws.odr.plugincfg.config.IgnoreDNSFailures

Whether the plug-in is to ignore DNS failures within a configuration when started.

When true, the plug-in ignores DNS failures within a configuration and starts successfully if at least one server in each ServerCluster resolves the host name. Any server for which the host name is not resolved is marked unavailable for the life of the configuration. The host name is not resolved later during the routing of requests. If a DNS failure occurs, a log message is written to the plug-in log file and the plug-in continues initializing instead of the Web server not starting.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: false.


com.ibm.ws.odr.plugincfg.config.RefreshInterval

Specify, in seconds, how frequently the plug-in should check the configuration file for updates or changes. The plug-in checks the file for any modifications that occur since the plug-in configuration was loaded.

In a development environment where frequent changes occur, set the time interval to less than 60 seconds.

In a production environment, you should set a higher value than the default value, because updates to the configuration do not occur as frequently.

If the plug-in reload is not successful, the plug-in log file contains an error message, and the previous configuration is used until the plug-in configuration file successfully reloads. Refer to the plug-in log file for more information if an error occurs.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: 60.


com.ibm.ws.odr.plugincfg.config.ResponseChunkSize

Specify, in kilobytes, the maximum chunk size the plug-in should use when reading the response body. For example, Config ResponseChunkSize="N", where N equals the chunk size.

By default, the plug-in reads the response body in 64k chunks until all of the response data is read. This process might cause a performance problem for requests where the response body contains large amounts of data. If the content length of the response body is unknown, a buffer size of N kilobytes is allocated and the body is read in N kilobyte size chunks, until the entire body is read. If the content length is known, then a buffer size of either content length or N is used to read the response body.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: 64.


com.ibm.ws.odr.plugincfg.config.VHostMatchingCompat

Whether the plug-in should use the port number for virtual host matching. The following values can be specified:

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: false.


com.ibm.ws.odr.plugincfg.config.TrustedProxyEnable

Whether the plug-in is to allow the inclusion of trusted proxies. The following values can be specified:

The trusted proxies are collected from the defined trusted security proxies.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: false.


com.ibm.ws.odr.plugincfg.log.Name

Specify the fully qualified path to the log file to which the plug-in writes error messages.

This property is only valid for a proxy server, and applies to the Log element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: profileRoot/logs/http_plugin.log.


com.ibm.ws.odr.plugincfg.log.LogLevel

Specify the level of detail of the log messages that the plug-in writes to the log. We can specify one of the following values for this attribute:

This property is only valid for a proxy server, and applies to the Log element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: Error.

Avoid trouble: A lot of messages are logged at the trace level, which can cause the file system to fill up very quickly. Never use a trace setting in a normally functioning environment as it adversely affects performance.


com.ibm.ws.odr.plugincfg.cluster.CloneSeparatorChange

Indicate to the plug-in that the plus character (+) can be used as the clone separator.

Some pervasive devices cannot handle the colon character (:) used to separate clone IDs in conjunction with session affinity.

Avoid trouble: If we use this custom property, you must change the proxy server configurations such that the proxy server separates clone IDs with the plus character instead the colon character.

This property is only valid for a proxy server, and applies to the ServerCluster element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: false.


com.ibm.ws.odr.plugincfg.cluster.LoadBalance

Specify the appropriate load balancing option: Round Robin or Random.

The Round Robin implementation has a random starting point. The first proxy server is picked randomly. Round Robin is then used to pick proxy servers from that point forward. This implementation ensures that in multiple process based Web servers, all of the processes don't start up by sending the first request to the same proxy server.

The Random implementation also has a random starting point. However with this implementation all subsequent proxy servers are also randomly selected. Therefore, the same proxy server might get selected repeatedly while other proxy servers remain idle.

Default: Round Robin.


com.ibm.ws.odr.plugincfg.cluster.PostSizeLimit

Specify, in bytes, the maximum number of bytes of request content that the plug-in is allowed to attempt to send to a server. If a request is received that is greater than the specified value, the plug-in ends the request

This property is only valid for a proxy server, and applies to the ServerCluster element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: -1, which indicates that there is no limit to the size of a request.


com.ibm.ws.odr.plugincfg.cluster.RemoveSpecialHeaders

Use this property to whether the plug-in is to add special headers to a request before it is forwarded to the server. These headers store information about the request that the application then uses. By default, the plug-in removes these headers from incoming requests before adding the required headers.

If we set this property to false, you introduce a potential security exposure headers from incoming requests are not removed.

This property is only valid for a proxy server, and applies to the ServerCluster element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: true.


com.ibm.ws.odr.plugincfg.cluster.RetryInterval

Specify, in seconds, the amount of time that elapses between when a proxy server is marked down and when the plug-in reattempts to make a connection.

This property is only valid for a proxy server, and applies to the ServerCluster element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: 60.


com.ibm.ws.odr.plugincfg.odrIncludeStopped

Whether the plug-in is to allow the inclusion of stopped proxy servers. The following values can be specified:

This property is only valid for a proxy server.

Default: false.


com.ibm.ws.odr.plugincfg.server.ConnectTimeout

Specify, in seconds, the amount of time the plug-in waits for a successful connection

Specify a value for th property enables the plug-in to perform non-blocking connections with the proxy server. Such connections are beneficial when the plug-in is unable to contact the destination to determine if the port is available or unavailable.

When a value greater than 0 is specified, and a connection does not occur after that time interval elapses, the plug-in marks the proxy server unavailable, and proceeds with one of the other proxy servers defined in the cluster.

If no value is specified for this property, the plug-in performs a blocking connect in which the plug-in waits until an operating system times out and allows the plug-in to mark the proxy server unavailable.

This property is only valid for a proxy server, and applies to the Server element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: 0.


com.ibm.ws.odr.plugincfg.server.ExtendedHandShake

Indicate to the plug-in that it must ensure the availability of a proxy server before sending a request to that proxy server.

Typically, the plug-in marks a proxy server as stopped when a connect() ends. However, when a proxy firewall is between the plug-in and the proxy server, the connect() succeeds, even though the back-end proxy server is stopped. This situation causes the plug-in to not failover correctly to other proxy servers.

This property is only valid for a proxy server, and applies to the Server element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: false.


com.ibm.ws.odr.plugincfg.server.MaxConnections

Specify the maximum number of pending connections to a proxy server that can flow through a Web server process at any point in time.

This property is only valid for a proxy server, and applies to the Server element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: -1, which indicates that there is no maximum number for the number of pending connections to a proxy server that can flow through a Web server process at any point in time.


com.ibm.ws.odr.plugincfg.cluster.WaitForContinue

Whether to use the HTTP 1.1 100 Continue support before sending the request content to the proxy server.

Typically, the plug-in does not wait for the 100 Continue response from the proxy server before sending the request content. You should use HTTP 1.1 100 Continue support when configuring the plug-in to work with certain types of proxy firewalls.

This property is ignored for POST requests to prevent a failure from occurring if the proxy server closes a connection because of a time-out.

This property is only valid for a proxy server, and applies to the Server element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: false.


com.ibm.ws.odr.plugincfg.property.ESIEnable

Enable or disable the Edge Side Include (ESI) processor. If the ESI processor is disabled, the other ESI elements in the file are ignored.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: true.


com.ibm.ws.odr.plugincfg.property.ESIMaxCacheSize

Specify, in 1 KB units, the maximum size of the cache. The default maximum size of the cache is 1024 KB (1 megabyte). If the cache is full, the first entry to be evicted from the cache is the entry that is closest to its expiration time.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: 1024.


com.ibm.ws.odr.plugincfg.property.ESIInvalidationMonitor

Whether or not the ESI processor receives invalidations from the proxy server.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: false.


com.ibm.ws.odr.plugincfg.property.https.keyring

Directory location of the SAF keyring when the protocol of the transport is set to HTTPS.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: profileRoot/etc/plugin-key.kdb.


com.ibm.ws.odr.plugincfg.property.https.stashfile

Specify the location of the stashfile.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: profileRoot/node/etc/plugin-key.sth .


com.ibm.ws.odr.plugincfg.property.PluginInstallRoot

Installation path for the plug-in.

Set this property, to the fully qualified path of the plug-in installation root. If we use the default value, the property does not display in the plugin-cfg.xml file.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file that the proxy server automatically generates.

Default: "".


com.ibm.ws.pm.checkingDBconnection

Whether the persistence manager is to continue checking the availability of a database, that was previously marked as unavailable, until a connection with that database is successfully established.

If a database service is down when the persistent manager attempts to establish a connection to that database, the database is marked as unavailable. Typically, the persistent manager does not re-attempt to establish a connection after a database is marked as unavailable. If we sent this property to true, the persistence manager continues to check the availability of the database until it is able to successfully establish a connection to that database.

Default: false.


com.ibm.ws.runtime.component.ResourceMgr.postBindNotify

Make the Connection Factory MBeans available when a resource adapter starts. Typically, when a resource adapter starts, the Connection Factory MBeans are not available for the resource adapter to query. However, certain resource adapters, such as the IMS™ DB Resource Adapter, require this functionality for initialization.

If we are not using a resource adapter that requires the availability of Connection Factory MBeans at initialization, add this property to the JVM settings and set the value to false.

Default: true.


com.ibm.ws.runtime.dumpShutdown

There are differing situations where a thread dump during server shutdown is useful. The following are examples

The com.ibm.ws.runtime.dumpShutdown diagnostic custom property allows you to trigger a Java core thread dump during server shutdown. Set this property to true to trigger a Java core thread dump during server shutdown. Default: false.

(zos) For platforms where an IBM Software Development Kit is used (AIX, Windows, Linux, z/OS), the Java core thread dump is generated in the working directory of the application server.

For other platforms (Solaris, HP-UX), the Java core thread dump is written into the native_stdout.log file for the application server.

In addition to the Java core thread dump, the stack trace of the current thread that is processing the shutdown is printed in the SystemErr.log for the application server.


com.ibm.ws.runtime.logThreadPoolGrowth

Thread pools allowed to grow are configured with a maximum size but allowed to increase in size beyond that maximum. However, by default, no messages are issued that indicate that the maximum size has been exceeded.

Set this property to true if you want the server to send a message to the log file when a thread pool allowed to grow increases beyond its configured maximum size.


com.ibm.ws.scripting.apptimeout

Specify, in seconds, the length of time that can elapse before an application installation, or an application update times out. Default: 86400, which is equivalent to 24 hours.

Specify a reasonable value for this property prevents the installation, or update process from continuing indefinitely when a situation occurs that prevents the installation, or update script from completing. For example, we might have a JACL script that updates an EAR file that cannot complete because the deployment manager that the script is connected to stops.


com.ibm.ws.sib.webservices.useSOAPJMSTextMessages

By default on WAS v6 or later, a SOAP over JMS web service message sent by the web services gateway is sent as a JmsBytesMessage.

Set this property to true to modify the default behavior and send a compatible JmsTextMessage. Setting this property modifies the default behavior for all outbound JMS web services invocations sent from the service integration bus.

If we decide to use this custom property, specify it as an application server JVM custom property.


(v8552) com.ibm.ws.soap.handleRST

Use this property if you want the web server to recognize when a SOAP message is completely read, and treat the RequestSecurityToken (RST) element as a FIN message type.

In some instances, when a connection reset occurs, a web server starts with security disabled. However, because a RST was received instead of the normal FIN/end of file, an error message appears in the console indicating the web server failed to start, even though the web server did start and is operational. A refresh of the web server console page displays the correct operational status.

If we set the com.ibm.ws.soap.handleRST custom property to true, the web server will recognize when the complete SOAP message has been read, and treat the RST as a FIN, and you will not receive an error message when an RST is received.


com.ibm.ws.use602RequiredAttrCompatibility

Use the com.ibm.ws.use602RequiredAttrCompatibility custom property to specify whether the < required> attribute is evaluated prior to other attributes in the cachespec.xml file.

In v6.0.2, if set the < required> attribute to false, then all of the other attributes within the cachespec.xml file are ignored and a cache ID is generated.

For transitioning users: In versions later than 6.0.2, by default, the < required> attribute is evaluated along with all of the other attributes to determine if a cache ID is generated.trns

If we set the com.ibm.ws.use602RequiredAttrCompatibility custom property to true, then the behavior of the cachespec.xml file is reverted back to the behavior in v6.0.2. The < required> attribute is evaluated prior to other attributes in the cachespec.xml file. Default: false.. When you set this JVM custom property, which only applies to the application server level, it affects all of the dynamic cache users.

If we decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


(v8552) com.ibm.ws.webcontainer.allowDefaultErrorPage

Use this property if the web.xml file contains an error page definition that adheres to the Servlet 3.0 Specification. The Servlet 3.0 specification indicates that only the <location> parameter is mandatory. The <error-code> and <exception-type> parameters are optional. However, if we do not add this property to the JVM settings and set it to true, an error page defined with just the <location> parameter is ignored.

Default: false.

If we use this property, it must be set at the application server level.


com.ibm.ws.webservices.allowNoSOAPActionHeader

Enable the web services engine to tolerate an incoming web service request that does not contain a SOAPAction header. This property must be set at the application server level.

The SOAP specification states that an HTTP request message must contain a SOAPAction HTTP header field with a quoted empty string value, if in the corresponding WSDL description, the soapAction of soapbind:operation is either not present, or present with an empty string as its value. However, if you want the web services engine to handle requests that do not contain a SOAPACTION header, add this property to the application server settings and set it to true.

When this property is not specified, or is not set to true, if an incoming SOAP request message does not contain a SOAPAction header, a SOAP Fault is returned to the client

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.allowStatusCode202OneWay

Allowllow a JAX-RPC one-way service to send a 202 status code instead of a 200 status code.

A JAX-RPC one-way service deployed on WebSphere Application Server normally returns a 200 HTTP status code. Some JAX-RPC implementations cannot tolerate a 200 status code, preferring a 202 instead. According to the Basic Profile v1.1, both 200 and 202 are valid status codes for one-way services.

If the property is set to true, then the JAX-RPC one-way service returns a 202 status code.

Default: false.

This property only applies to the application server JVM.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.appendRootCauseToWSF

If we are a JAX-RPC user, use this property to specify whether you want the Fault details for an exception, that are returned in a response, to contain information about the original exception

Typically, the Fault details for an exception, that are returned in a response, only contains information about the most recent exception. It does not contain information about the original exception, which usually is not the most current exception. Frequently, an exception triggers other exceptions before the Fault details are returned in a response. This discrepancy can make problem determination more difficult for the end user if that person does not have access to the logs from the service provider.

If the end user needs to be able to see the exception details for all of the exceptions associated with a problem, this custom property should be set to true for the JVM on the service provider's application server. When true on the service provider's application server, the application server loops though all the exception causes, and concatenates the details of each exception into the Fault details that are returned in the response.

Default: false.

If we decide to use this custom property, specify it as a JVM custom property for an application server.

(zos)


(WAS v8.5.0.1) com.ibm.ws.webservices.cacheEngineList

In WebSphere Application Server for z/OS configurations using JAX-RPC web services, use this property to disable client web services engine caching.

If an application is restarted several times, the client engine cache might fill local system storage, causing an out-of-memory error. When true, engine caching is enabled. Set this property to false to disable engine caching when this out-of-memory error occurs.

Default: true.


com.ibm.ws.webservices.contentTransferEncoding

Specify a range of bits for which .XML-encoding is disabled. Typically any integer that is greater than 127 is XML-encoded. When specified this property:

Specify 7bit, if you only want integers greater than 127 encoded. Specify 8bit, if you only want integers greater than 255 encoded. Specify binary, if you want encoding disabled for all integers.

Default: 7bit.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.disableSOAPElementLazyParse

Disable lazy parsing of SOAPElements. Lazy parsing is designed for situations where the client is not parsing the SOAPElement. If a client is parsing the SOAPElement with SAAJ, it is better to not delay parsing by the web services component.

We can set this property as a JVM custom property at either the server or client level. When this property is set at either the server or client level, the setting applies to all applications on the JVM. Default: false.

We can also use an application assembly tool to specify this property as a new web service description binding entry for the port component binding, to disable lazy parsing of SOAPElements on an application-by-application basis for a particular server, instead of for all of the servers managed by the deployment manager.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.engine.transport.jms.propagateOneWaySystemExceptions

Enable exceptions that occur during the processing of a one-way JMS Web service to be propagated back to the EJB container. This propagation makes normal error recovery possible.

If false, an exception is wrapped in a WebServicesFault message and sent back to the client. Because the Web service is not aware of the exception, no recovery is attempted.

Default: false.

Avoid trouble: This property does not apply to a one-way HTTP Web service, or to two-way JMS requests.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.forceLegacyDispatchFromSOAPConnection

Specify that the JAX-RPC engine is to be used to process outgoing requests for SOAP with Attachments API for Java (SAAJ) clients, instead of the JAX-WS engine.

This property does not apply to web services clients that use the JAX-RPC or JAX-WS APIs to invoke web services. When the JAX-WS engine is used to process client requests, the outcome might be different than when the JAX-RPC engine is used. For example, some SAAJ clients set the SOAPAction header as a MIME header, using the SAAJ APIs. When the JAX-RPC engine is used to process such a request, this SOAPAction header with its user-set value is sent in the request. However, if the JAX-WS engine is used to process the same request, an empty SOAPAction header is sent in the request. If we are used to having the JAX-RPC engine process SAAJ client requests and want to preserve this behavior, add this property to the JVM settings and set it to true.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.HttpRedirectWithProxy

Set this property to true to allow HTTP redirect requests to be sent through the proxy server. When set to true, you change the default behavior for all outbound HTTP redirect requests sent from the JAX-RPC runtime. When false, a redirect request is sent to a remote server directly even though a proxy server is configured.

Default: false.

If we decide to use this custom property, specify it as an proxy server JVM custom property.


com.ibm.ws.webservices.ignoreUnknownElements

Control whether clients can ignore extra XML elements that are sometimes found within literal SOAP operation responses.

Set this property to true provides you with the flexibility of being able to update the server code to include additional response information, without having to immediately update your client code to process this additional information. However, when this functionality is enabled, the checking of SOAP message against the expected message structure is more relaxed than when this property is set to false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.jaxrpc.parse.tolerate.invalid.namespace

Enable the JAX-RPC engine to use a more tolerant algorithm when determining whether to accept an incoming JAX-RPC message.

Typically, if an incoming JAX-RPC message uses an invalid namespace for a body element, the JAX-RPC engine rejects the message. If we set this property to true, the JAX-RPC engine uses a more tolerant algorithm that ignores the namespace mismatch.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.resolveXMLSchemaDTD

Enable a JAX-RPC application to properly start even if the schema or WSDL file that is represented in the _AbsoluteImportResolver class also references the http://www.w3.org/2001/XMLSchema.dtd DTD.

When you run on a host that is not connected to the Internet, a JAX-RPC application that is packaged with the _AbsoluteImportResolver class might not start properly. The following error might exist in the log files:

WSDDPort      W com.ibm.ws.webservices.engine.deployment.wsdd.WSDDPort expand  WSWS3114E: Error: Internal error.
java.net.UnknownHostException: www.w3.org

Set this custom property to true enables a JAX-RPC application to properly start even if the schema or WSDL file that is represented in the _AbsoluteImportResolver class also references the http://www.w3.org/2001/XMLSchema.dtd DTD.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.searchForAppServer

Control whether DualMetaDataLoaderImpl E loadWebContainerPorts could not find any http or https ports messages are sent to the system log.

Depending on the system configuration, if a web services application is installed across both a web server and an application server, your system might issue this message, indicating that an error occurred even though this is a valid configuration. Therefore if you install any of the web services applications across both a web server and an application server, you might not want these messages sent to the system log.

If the com.ibm.ws.webservices.searchForAppServer property is set to true, any DualMetaDataLoaderImpl E loadWebContainerPorts could not find any http or https ports messages that are issued are not sent to the system log. If this property is not specified or is set to false, these messages are sent to the system log.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.serialize.2DimArray.asArrays

Cause the JAX-RPC runtime to serialize two-dimensional XML arrays as a series of arrays.

If we decide to use this custom property, specify it as an application server JVM custom property.

Default: false.

The following message snippet illustrates a series of elements, which is a valid format for representing two-dimensional XML arrays when this property is set to false.

<p565:sayHelloResponse xmlns:p565="http://ibm.com">
    <sayHelloReturn xsi:type="soapenc:Array"  soapenc:arrayType="xsd:string[2,3]">
      <item xsi:type="xsd:string">array1 element1</item>
      <item xsi:type="xsd:string">array1 element2</item>
      <item xsi:type="xsd:string">array1 element3</item>
      <item xsi:type="xsd:string">array2 element1</item>
      <item xsi:type="xsd:string">array2 element2</item>
      <item xsi:type="xsd:string">array2 element3</item>
    </sayHelloReturn>
  </p565:sayHelloResponse>

The following message snippet illustrates an array of two arrays, with each array containing three elements, which is a valid format for representing two-dimensional XML arrays when this property is set to true.

<p565:sayHelloResponse xmlns:p565="http://ibm.com">
    <sayHelloReturn xsi:type="soapenc:Array"  soapenc:arrayType="xsd:string[][2]">
      <item soapenc:arrayType="xsd:string[3]">
         <item>array1 element1</item>
         <item>array1 element2</item>
         <item>array1 element3</item>
      </item>
      <item soapenc:arrayType="xsd:string[3]">
         <item>array2 element1</item>
         <item>array2 element2</item>
         <item>array2 element3</item>
      </item>
    </sayHelloReturn>
  </p565:sayHelloResponse>


com.ibm.ws.webservices.serializeDetailElementUsingDefaultNamespace

Whether the application server uses an actual prefix name to locate the namespace that defines the Fault detail, or uses a default namespace to define the Fault detail.

When a JAX-RPC Web service responds with a SOAP Fault, an actual prefix name is typically used to locate the namespace that defines the contents of the Fault detail. Following is an example of the message that the application server typically issues in this situation:

<soapenv:Fault                                             xmlns:soapenv=
      "http://schemas.xmlsoap.org/soap/envelope/">        <faultcode xmlns="http://sample">            sampleFault                             </faultcode>                                                <faultstring>sample text</faultstring>                        <detail encodingStyle="">                                    <sampleFault                               xmlns="http://sample">        ...
    </sampleFault>
  </detail>
<soapenv:Fault>  

If the application server needs to communicate with .Net clients, and these .Net clients require the use of a default namespace to define the contents of the Fault detail, set this property to true. When true, the message that the application server issues is similar to the message sent from a version previous to a v6.x application server.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.suppressHTTPRequestPortSuffix

Control whether a port number can be left in an HTTP POST request that sends a SOAP message.

Some web service implementations do not properly tolerate the presence of a port number within the HTTP POST request that sends the SOAP message. If we have a web service client that needs to interoperate with web service that cannot tolerate a port number within an HTTP POST request that sends a SOAP message, set this custom property to true.

When set to true, the port number is removed from the HTTP POST request before it is sent.

Avoid trouble: We must restart the server before this configuration setting takes affect.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.websvcs.attachments.sizethreshold

Specify, in bytes, the maximum size of an attachment on the JAX-WS client or service that can be written to memory. By default, the maximum attachment size is set to 102400 bytes. With this value, if an attachment exceeds 100 KBs, it is cached to the file system instead of written to memory. When you use this custom property, as you increase the maximum cache size, there is a greater impact on performance and, potentially, to the Java heap.

To specify the maximum size of an attachment on the JAX-RPC client or service, see the com.ibm.websphere.webservices.attachements.maxMemCacheSize custom property.

If we decide to use this custom property, specify it as an application server JVM custom property.


(WAS v8.5.0.1) com.ibm.ws.websvcs.getJAXBContext.cacheClassList

Cache a list of the JAXB classes contained in a package.

Typically, when building a JAXBContext, if a package does not contain either a ObjectFactory or package-info class file, the package is searched for all potential JAXB classes. This search process can be time consuming and can be delayed by JAR file locking. Set this property to true to cache the class list for each package, eliminating the need for subsequent searches of the same package. Later JAXBContext creation requests retrieve the cached version of the class list instead of initiating a new search.

Because the class list cache is created using a SoftReference, the cache can be released if available memory becomes low.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


(WAS v8.5.0.1) com.ibm.ws.websvcs.getJAXBContext.cacheClassList.persist

Create a disk cache of the JAXB classes contained in a package.

Typically, when building a JAXBContext, if a package does not contain either a ObjectFactory or package-info class file, the package is searched for all potential JAXB classes. This search process can be time consuming and can be delayed by JAR file locking. Set this property to true to create a disk cache of the class list for each package, eliminating the need for subsequent searches of the same package. Later JAXBContext creation requests retrieve the cached version of the class list instead of initiating a new search.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.websvcs.suppressHTTPRequestPortSuffix

Prevent the JAX-WS runtime from appending the port number to the HTTP Host header value to a request.

A JAX-WS client might receive a java.io.IOException in response to a request, especially if there is a non-IBM web server located between the client and the web service the client is trying to call. This intermediary server might not understand where to route the request because the JAX-WS runtime has appended the port number to the HTTP Host header value. For example, JAX-WS runtime might have changed the header value from the endpoint URL lilygirl.austin.mycompany.com to the URL lilygirl.austin.mycompany.com:80, which includes the port number.

To prevent the JAX-WS runtime from appending the port number to the HTTP Host header value, add this custom property to the JVM settings, and set it to true. When true, the Host header only contains the hostname of the endpoint URL; for example, Host: lilygirl.austin.mycompany.com

Default: false, which means that, the port number is appended to a Host header value.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.websvcs.transport.enableProxyTunnel

Set this property to true to enable the Web services client to access resources through a Web proxy server. Default is false. which indicates that tunneling is not to be used in the web services transport layer for proxies.

Example: By leaving the default setting of false, a JAX-WS web service client that attempts to call a remote web service over HTTPS experiences an exception when the call is directed through an HTTP server configured as a forward proxy.

Default: false.

If we decide to use this custom property, specify it as an proxy server JVM custom property.


com.ibm.ws.websvcs.relaxClientPolsetMatching

Allowllow JAX-WS client side policy sets to be applied at the service or lower level through the console when the client code spans more than one archive file.

Default: false.


com.ibm.ws.websvcs.transport.jms.enableBasicAuthOnResponse

Whether the JMS policy set basic authorization userid and password is applied to JMS response messages. By default, the JMS policy set basic authorization userid and password are not applied to JMS response messages.

If we add this property to the JVM settings, and specify true as the value of this property, the JMS policy set basic authorization userid and password is applied to JMS response messages. If false, neither the userid nor the password is applied.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.websvcs.unmanaged.client.dontUseOverriddenEndpointUri

You might want a request by an unmanaged JAX-WS client service to be sent to the endpoint URL specified in the Overridden endpoint URL field on the console. The value of this managed field, which is set as part of the web services client port configuration, overwrites the endpoint specified in the WSDL file. For more information on this field, read about the web services client port.

Avoid trouble: If we have either all managed clients or a mixture of both managed and unmanaged clients, we can edit the Overridden endpoint URL field in the console. However, if we do not have any managed clients, we cannot edit the field.

Normally, we do not want an unmanaged JAX-WS client service to access this managed client service function. However, you might depend on unmanaged JAX-WS client services accessing this URL. By default, the com.ibm.ws.websvcs.unmanaged.client.dontUseOverriddenEndpointUri custom property is set to false to allow unmanaged JAX-WS client services to access the endpoint URL that overwrites the endpoint in the WSDL file.

This custom property is set on the application server level where a JAX-WS client is installed or a Java EE client exists if you run the launchClient.

If we decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.ws.wsba.protocolmessages.twoway

Improve the performance of an application server that is handling requests for Web Services Business Activities (WS-BA). Specifying true for this custom property improves application server performance when WS-BA protocol messages are sent between two application servers. Default: true.

Avoid trouble: If we decide to use this custom property, the property must be set on the application server that initiates the requests. It does not have to be set on the application server that receives the requests.

If we decide to use this custom property, specify it as an application server JVM custom property.


(zos) com.ibm.ws390.SystemOutErrCodepage

Specify an encoding schema for messages issued using System.out and System.err with the println, print and write methods other than EBCDIC. If no encoding schema is specified, EBCDIC, which is the default encoding schema, is used for these messages.

The value specified for this property must be in string format.

If we decide to use this custom property, specify it as a JVM custom property for the servant.


com.ibm.wsspi.amm.merge.ignoreValidationExceptions

Use this custom property to indicate to the JVM that it should ignore validation exceptions that might occur during EJB processing. When an application is configured with necessary classes defined in shared libraries during EJB processing, incomplete information may be generated. As a result, a validation exception might occur and the following exception message may appear:

Set this property to true if you want the JVM to ignore these validation exceptions.

Default: false.

If we decide to use this custom property, specify it as a JVM custom property for the application server.


com.ibm.wsspi.wssecurity.dsig.enableEnvelopedSignatureProperty

Use this custom property to indicate to the JVM you want the WS-Security runtime to verify an XML Digital Signature in the same manner as it did in Versions 7.0.0.21 and earlier, and 8.0.0.3 and earlier.

Avoid trouble: This property should only be set to true if the environment includes a cell that has application servers at different fix pack levels, and you are encountering compatibility problems.

In Versions 7.0.0.21 and earlier, and 8.0.0.3 and earlier, when WS-Security verifies an XML Digital Signature that uses the http://www.w3.org/2000/09/xmldsig#enveloped-signature transform algorithm, and the signed element has attributes with a namespace prefix, a Digest value mismatch error message, similar to the following error message, might occur:

SAML Assertion signature is verified.Core validity=false
Signed info validity=true Signed info
message='null'(validity=false message='Digest value mismatch:
calculated: KCuNwlUAk5+G2PYb8fZ+Y1hTMtw='
uri='#Assertion-1234' type='null')

If an element to be signed contains an attribute with a namespace prefix, the WS-Security runtime canonicalizes the element before calculating the digest value.

In this version of the product and in Versions 7.0.0.23 and higher and 8.0.0.4 and higher, the WS-Security runtime properly handles element attributes with namespace prefixes.

Avoid trouble:

If we decide to use this custom property, specify it as a JVM custom property for the application server.


com.ibm.xml.xlxp.jaxb.opti.level

Control whether optimization methods are enabled for JAXB unmarshalling (deserialization) and marshalling (serialization). The following table lists the supported values for this custom property and their effect on applications and web services.

Custom property value Effect
com.ibm.xml.xlxp.jaxb.opti.level=0 Optimization methods are not enabled.
com.ibm.xml.xlxp.jaxb.opti.level=1 Only unmarshalling optimization methods are enabled.
com.ibm.xml.xlxp.jaxb.opti.level=2 Only marshalling optimization methods are enabled.
com.ibm.xml.xlxp.jaxb.opti.level=3 Both unmarshalling and marshalling optimization methods are enabled, which is the default value.

For optimum performance, set the custom property value to 3. This value increases throughput for web services and applications that use JAXB directly. If we are experiencing issues with optimization after setting this value, change the value to 0 as a temporary workaround.

We can set this custom property on the application server level only.


com.ibm.xml.xlxp2.api.util.encoding.DataSourceFactory.bufferLength

Set this JVM custom property to a smaller value such as 2048 can reduce the memory usage if the 64KB buffers (the default) are only partially filled by the InputStream when they are in use. The buffers are cached within the XML parser com/ibm/xml/xlxp2/api/wssec/WSSXMLStreamReader. A reduction in memory usage reduces the overall memory linked to each parser object.


com.ibm.xml.xlxp2.api.util.Pool.STRONG_REFERENCE_POOL_MAXIMUM_SIZE

The value of this system property is an integer, and when set, it limits the number of XMLStreamReaders and XMLStreamWriters that are cached using strong references.

To avoid an OutOfMemoryError, set the system property to 0. This forces all XMLStreamReaders to be cached using SoftReferences, and enables the garbage collector to reclaim the memory they occupy in the cache at any time.

When this system property is not set, it's default value is 10.


config_consistency_check

Use this property to optionally turn off the default workspace consistency process. The deployment manager maintains a master configuration repository for the entire cell. By default, when the configuration changes, the product compares the configuration in the workspace with the master repository to maintain workspace consistency. However, the consistency verification process can cause an increase in the amount of time to save a configuration change or to deploy a large number of applications. The following factors influence how much time is required:

If the amount of time required to change a configuration change is unsatisfactory, we can add the config_consistency_check custom property to the JVM settings and set the value of this property to false.

Supported configurations: The config_consistency_check custom property affects the deployment manager process only. It does not affect other processes including the node agent and application server processes. The consistency check is not performed on these processes. However, within the SystemOut.log files for these processes, you might see a note that the consistency check is disabled. For these non-deployment manager processes, we can ignore this message.


deactivateWildCardURIMapping

Enable the plugin-cfg.xml file generator to recognize the URI patterns specified on the file.serving.patterns.allow attribute in the ibm-web-ext.xmi file for a web application.

The plugin-cfg.xml file generator only recognizes the URI patterns specified on the file.serving.patterns.allow attribute if the FileServingEnabled attribute in that ibm-web-ext.xmi file is set to true. However, when the the FileServingEnabled attribute is set to true, the plugin-cfg.xml file generator automatically adds the wildcard URI mapping, /* , to the plugin-cfg.xml file, which negates the usefulness of defining unique file serving patterns.

Set the the deactivateWildCardURIMapping property to true prevents the plugin-cfg.xml file generator from adding the /* to the plugin-cfg.xml file, and enables the plugin-cfg.xml file generator to recognizes the URI patterns specified on the file.serving.patterns.allow attribute. If this property is not added to the JVM settings, or is set to false , the /* is automatically added to the plugin-cfg.xml file.

This property is set at the deployment manager level.


DISABLE_LOCAL_COMM_WHEN_SSL_REQUIRED

Whether localComm or SSL should be used when transport level SSL is supported on the client or server side, and is required on the other side.

localComm should not be used when transport level SSL is supported on the client or server side, and is required on the other side. In this situation, you should set this custom property to true to ensure that SSL is used instead of localComm.

Default: false, which means that localComm is used.

If we decide to use this custom property, specify it as an application server JVM custom property.

When specified this property for an application server:


disableWSAddressCaching

Disable address caching for web services. If the system typically runs with lots of client threads, and you encounter lock contention on the wsAddrCache cache, we can set this custom property to true, to prevent caching of the web services data.

If we specify networkaddress.cache.ttl with a value of zero or any other positive integer, this property must be set to true to avoid caching of an IP address in the webservice engine. Networkaddress.cache.ttl is used to indicate the number of seconds to cache a successful lookup.

Default: false.


DRS_BATCH_INTERVAL_SIZE

Maximum number of objects that can be included in a batch of Data Replication Service (DRS) replicated HTTP session data. If there are less then the specified number of objects in the HTTP session data being replicated, all of the session data is replicated in a single batch.

By default, DRS replicates 50 HTTP session data objects in a batch. Because serializing a large message can cause an out-of-memory condition, you might want to include a smaller number of objects in each batch, especially if you have application servers that join established, fully-populated, replication domains.

If we decide to use this custom property, specify it as an application server JVM custom property.


DRS_THREADPOOL_MINSIZE

Minimum number of threads to allow in the data replication service (DRS) thread pool.

When an application server starts, threads are not initially assigned to the thread pool. Threads are added to the thread pool as the workload assigned to the application server requires them and until the number of threads in the pool equals the number of threads specified by this custom property. After this point in time, additional threads are added and removed as the workload changes. However, the number of threads in the pool never decreases below the number specified by this custom property, even if some of the threads are idle.

Default: 40 threads.

If we decide to use this custom property, specify it as an application server JVM custom property.


DRS_THREADPOOL_MAXSIZE

Maximum number of threads to maintain in the DRS thread pool.

Default: 100 threads.

If we decide to use this custom property, specify it as an application server JVM custom property.


DRS_THREADPOOL_ISGROWABLE

Whether the number of threads can increase beyond the maximum size configured for the DRS thread pool.

The maximum number of threads that can be created is constrained only within the limits of the Java virtual machine and the operating system. When a thread pool, allowed to grow, expands beyond the maximum size, the additional threads are not reused and are discarded from the pool after processing the work items for which they were created is completed.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


dynacache.jms.cacheInstance

When dynamic cache service multi-cell and multi-core group invalidation is enabled, use this property to specify the cache instance to use for processing invalidations. Setting this property to "*" causes invalidation IDs to be processed on all cache instances. This property should be set on the service integration bus servers.

By default, the baseCache cache instance is used. We can use the console to determine the names of the cache instances defined for the system.

If we decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


dynacache.jms.connRetryInterval

When dynamic cache service multi-cell and multi-core group invalidation is enabled, use this property to specify the number of seconds that a cluster member waits before attempting to reconnect to a service integration bus server.

Default: 30.

If we decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


dynacache.jms.invProcessingDelay

When dynamic cache service multi-cell and multi-core group invalidation is enabled, use this property to specify the number of seconds the service integration bus server queues invalidation IDs before processing them.

Default: 20.

If we decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


dynacache.jms.numStoredInvalidations

When dynamic cache service multi-cell and multi-core group invalidation is enabled, use this property to specify the maximum number of invalidation IDs a cluster member can store while waiting for a service integration bus server to become available. After the threshold is reached, the oldest invalidation IDs are removed as new IDs are added.

Default: 10000.

If we decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


(zos) invocationCacheSize

Control the size of the invocation cache. The invocation cache holds information for mapping request URLs to servlet resources. A cache of the requested size is created for each worker thread that is available to process a request. The default size of the invocation cache is 50. If more than 50 unique URLs are actively being used (each JavaServer Page is a unique URL), you should increase the size of the invocation cache.

A larger cache uses more of the Java heap, so you might also need to increase the maximum Java heap size. For example, if each cache entry requires 2KB, maximum thread size is set to 25, and the URL invocation cache size is 100; then 5MB of Java heap are required.

We can specify any number higher than 0 for the cache size. Setting the value to zero disables the invocation cache.


java.net.preferIPv4Stack

Disable IPv6 support. On operating systems where IPv6 support is available, the underlying native socket that the product uses is an IPv6 socket. On IPv6 network stacks that support IPv4-mapped addresses, we can use IPv6 sockets to connect to and accept connections from both IPv4 and IPv6 hosts.

Set this property to true disables the dual mode support in the JVM which might, in turn, disrupt normal product functions. Therefore, it is important to understand the full implications before using this property. In general, setting this property is not recommended.

The default value for this custom property is false, except on the Microsoft Windows operating systems, where the default is true.


java.net.preferIPv6Addresses

Disable IPv4 support. Setting true disables the dual mode support in the JVM which might, in turn, disrupt normal product functions. Therefore, it is important to understand the full implications before using this property. In general, setting this property is not recommended.

The default value for this custom property is false, except on the Windows operating system where the default is true.


java.util.logging.configureByLoggingPropertiesFile

Specify whether the JVM uses the logging.properties file to configure JSR-47 logging.

If this property is not added to the JVM configuration settings, or is set to false, the configuration settings contained in the logging.properties file are not picked up because the product overrides the base JSR47 logging configuration with the java.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager system property setting. In this situation, only logging settings that can be changed programmatically, such as the addition of handlers, and formatters, can be modified.

When this property is set to true, the JVM still configures the WsLogManager as the LogManager, but during server startup, the logging configuration for applications using JSR-47 logging is initialized based on settings in the logging.properties file. Refer to the Java Utility Logging API documentation for valid logging properties and format that can be specified in the logging.properties configuration file.

Avoid trouble: Do not assign java.util.logging.ConsoleHandler to any of the loggers because this assignment can cause an infinite loop.

The logging.properties file is located in the <<WAS_install>>/java/jre/lib/logging.properties directory, and can be customized as needed.

(zos) The logging.properties file is located in the <<WAS_install>>/java/J*/lib/logging.properties directory, and can be customized as needed.

Default: false.


jaxws.asyncClient.maxThreadPoolSize

Use this property to limit the number of concurrently executing threads for JAX-WS async client requests.

By default the number of threads is not limited.

If we decide to use this custom property, specify it as an application server JVM custom property.


(WAS v8.5.0.1) jaxws.handler.reducecaching

Ensure that JAX-WS handlers correctly update SOAP messages.

SOAP messages that are updated by a JAX-WS handler appear correct when dumped in the handler, but when a message is sent, the changes are missing. Set this property to true if your handler calls getMessage() multiple times and messages are lost.

Avoid trouble: This property is not compatible with modifying SOAP headers directly through JAX-WS message context properties. Using both types of message modification might cause information loss.

Default: false.


jaxws.ignore.extraWSDLOps

Use this property if there are more operations in the WSDL than built into the client.

Default client behavior is to validate the operations built into the client against the operations in WSDL and fail if they do not match. Set this property to true if there are more operations in the WSDL than built into the client and the WSDL validation will succeed and the client can be invoked.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


(V8502) jaxws.ignoreMetadataComplete

Set this JVM property to true to perform a webservice annotation scan even if metadata-complete is set on a module. The default is false.

In the default case, JAX-WS web services are not detected when metadata-complete is set to true.

Avoid trouble: This JVM property must be set on every JVM in the WAS cell.


(WAS v8.5.0.1) jaxws.JAXBContext.permStoreCostThresholdMsec

Enable caching of JAXBContext objects that require more than the specified amount of time to construct.

JAX-WS web services or clients might experience delays during execution when constructing JAXBContext objects that handle hundreds of classes. Caching time-intensive JAXBContext objects accelerates web service and client execution by eliminating the need to reconstruct the JAXBContext object upon each use.

Set this property to a value, in milliseconds, that is greater than 0 to enable caching of JAXBContext objects that require more than the specified amount of time to construct. The cache persists until the JVM is restarted. The recommended value is 5000 milliseconds or greater.

Default: 0, which does not enable caching.

If we decide to use this custom property, specify it as an application server JVM custom property.


(WAS v8.5.0.1) jaxws.JAXBContext.permStoreMaxSize

Maximum number of entries in the JAXBContext cache. If the cache becomes full, stale entries are replaced first, followed by the entry with the lowest construction time.

Default: 32.

This property modifies the cache created by property jaxws.JAXBContext.permStoreCostThresholdMsec


(WAS v8.5.0.1) jaxws.JAXBContext.permStoreStaleThresholdHours

Value, in hours, after which an entry in the JAXBContext cache that has not been accessed is considered stale. If the cache becomes full, stale entries are replaced first.

Default: 24 hours.

This property modifies the cache created by property jaxws.JAXBContext.permStoreCostThresholdMsec


jaxws.payload.highFidelity

Enable lossless transformations. When true, the Web Service runtime guarantees that the incoming message and the message at the SOAPHandler boundary are the same.

Typically, the SOAP message received by a JAX-WS SOAPHandler is not exactly the same as the inbound SOAP message. For example, the message received by the JAX-WS SOAPHandler might use different xml prefixes than the original inbound message. These subtle changes do not affect the logical interpretation of the message. However, add this property to the JVM settings and set the property to true if messages at the SOAPHandler boundary must be exactly the same as the incoming messages. For example, the Canonicalization Specification (C14N) requires that the prefix names are preserved.

Best practice: You should only use this property if the SOAP requests access the contents of a soapenv:Body element within the SOAPHandlers. Setting the property to true might degrade Web Service runtime performance.bprac

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


jaxws.provider.interpretNullAsOneway

If we have a JAX-WS web service that defines a Provider-based endpoint using the javax.xml.ws.Provider annotation and a WSDL file is not specified, we can use this custom property to control how the JAX-WS runtime environment behaves when the Provider returns a null value from the invoke() method. By default, the runtime environment will send back a response that consists of a SOAPEnvelope containing an empty SOAPBody element.

If true, whenever the Provider implementation returns a null value and a WSDL file is not defined, the runtime environment interprets the null value returned from the Provider implementation as a request-only operation so that no response is returned. As with all request-only operations, some qualities of services, such as WS-Transactions, will not be available.

If the javax.xml.ws.WebServiceProvider annotation specifies a WSDL value and the WSDL defines a request and response operation, the JAX-WS runtime environment always returns a response that consists of a SOAPEnvelope containing an empty SOAPBody, regardless of the setting of this property.

Default: false.

Set this property to true for each server that requires a change in the default value.

If we decide to use this custom property, specify it as an application server JVM custom property.


jaxws.runtime.inheritedImplMethodsAccessible

Revise the web service runtime to allow inherited methods to be invoked. This behavior change is enabled by setting the property to true.

If we decide to use this custom property, specify it as an application server JVM custom property.


jaxws.runtime.restrictStaticWebmethod

Prevent exposure of static operations. When true, the JAX-WS runtime prevents the exposure of static operations.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


jaxws.share.dynamic.ports.enable

Specify the visibility of dynamic ports across JAX-WS web services.

By default, dynamic ports are visible only to the instance of the service that created the port. Set this property to true to share dynamic ports across web services.

If we decide to use this custom property, specify it as an application server JVM custom property.


jaxws.soapfault.local.exceptions.disable

Prevent locally occurring exceptions on a JAX-WS client from being treated as a SOAPFault. By default, if a JAX-WS client encounters a local exception, a SOAPFault is created for the exception. An example of a local exception is a ConnectException caused by an invalid host or port. The relevant JAX-WS application handlers handleFault methods are called with the SOAPFault, then a SOAPFaultException is thrown back through the JAX-WS client's invoked method.

By setting this property to true, local exceptions create an empty message. The relevant JAX-WS application handlers handleMessage methods are called with the empty message, then a WebServiceException is thrown back through the JAX-WS client's invoked method. This was the behavior in previous releases.

Default: false.

If we decide to use this custom property, specify it as an application server JVM custom property.


(V8502) jaxws.useSafeIPC

Set this property to true on application servers if errors occur in JAX-WS web services when the enableInProcessConnections property is set to true in the Web Container. This might happen when web services applications that call each other cannot safely share a single thread. Setting true causes the applications to run on separate threads.

Default: false.


jdk.corba.allowOutputStreamSubclass

Set this property to true to ensures that the org.omg.CORBA_2_3.portable.OutputStream can be subclassed.

Applications running with a security manager might experience a dip in performance because of the additional security checks that are now performed to secure the org.omg.CORBA_2_3.portable.OutputStream default constructor when a security manager is installed. These additional security checks might cause incompatibilities with existing application deployments. Adding this property to the JVM settings and setting it to true prevents these incompatibilities from occurring.

This property can be set at either the application server, node agent, or deployment manager level, but is usually specified at the application server level.


ODCClearMessageAge

Establish a length of time, specified in milliseconds, after which an ODC message is removed from the bulletin board, even if the receiver has not acknowledged the message. Specifying a value for this property helps prevent the build up of messages that, for some reason, do not get acknowledged.

We can specify any positive integer as a value for this property, but a value of 300000 (5 minutes) or higher is recommended to avoid premature removal of messages.

Default: 300000 milliseconds.


ODCInit.disabled

Set this property to true to disable the communication between processes for the On Demand Configuration (ODC) component, and for all local ODC processing.

The on demand configuration component is used when deploying Web services-based applications, and when using a WAS Proxy Server to handle requests. The on demand configuration component is enabled or disabled on a cell-wide basis. If the topology contains any proxy servers, or any web services based applications, you should not disable the on demand configuration service.

If we are running in a large topology environment where Web services-based applications are not deployed, or WebSphere Application Server Proxy Servers are not used to handle requests, the on demand configuration component is not utilized, and we can set this property to true. Setting true disables the on demand configuration component, which will reduce network bandwidth and CPU utilization.

Default: false.


(V8502) org.apache.aries.blueprint.header.mandatory

When set to true, bundles with blueprint must have a blueprint header. This allows apache aries to avoid expensive scanning when there is no blueprint header.


org.apache.axiom.attachments.tempfile.expiration

If excessive accumulation of temporary files of the form AxisXXXXXX.att occurs, set this property to a value in seconds after which the JAX-WS runtime should delete these temporary files used for storing MTOM attachments.

Default: 0. Files are deleted when the JVM exits.


org.apache.el.parser.SKIP_IDENTIFIER_CHECK

Relax the checking that occurs for EL variable identifiers. The relaxed checking behavior is equivalent to the behavior observed in WebSphere Application Server versions prior to v8.0.

Start with v8.0, the checking of EL variable identifiers is more strict. The checking process now checks for Java reserved keywords as well as reserved EL keywords. Prior to v8.0, the checking process only checked for reserved EL keywords.

If any variable identifier used in a JSTL/EL script includes any of the reserved JSP keywords, the variable identifier will fail to translate, resulting in an exception. The preferred method for handling such an exception is to modify the JSTL/EL code to eliminate the usage of the reserved keywords as variable names. However, if this is not possible or practical, set this property to true to relax the level of checking that occurs to the pre-Version 8.0 level.

A list of reserved JSP keywords can be found at http://docs.oracle.com/javaee/5/tutorial/doc/bnahq.html#bnail


org.eclipse.jst.j2ee.commonarchivecore.disableZip

Use this custom property to allow ZIP archives to be processed as simple files.

Set this property to true to allow ZIP archives to be processed as simple files when scanning the files of a deployed application.

Default: false.

This property must be set as a custom property for the IBM WebSphere Application Server process which runs applications for which ZIP files are to be ignored.


org.eclipse.jst.j2ee.commonarchivecore.ignore.no.interface.view

Use this property if all of the following are true:

If all of the previous conditions are true, the deployment probably fails because the application gets promoted to the Java EE 6 level during deployment. WebSphere application Server v7.x implements Java EE 5. In Java EE 5, a bean without an interface has no special meaning. However, in Java EE 6, a bean without an interface implements a no-interface view. When WebSphere Application Server v8.x or v8.5 processes this bean, it promotes the bean to EJB 3.1; the no-interface view was introduced in EJB 3.1. Since the application now contains an EJB at version 3.1, the application is promoted to Java EE 6. When this happens, the application cannot be deployed to a node running WebSphere Application Server v7.x.

To ignore the no-interface view, and to prevent the version of the application from being upgraded, set the property to true on the deployment manager. Default: false.

Set this custom property applies the setting to all applications. To apply the setting to a specific application, edit the META-INF/MANIFEST.MF file and add the following: Ignore-No-Interface-View: true.

When updating the application manifest, follow line-length limitations and other constraints for the manifest.


org.eclipse.jst.j2ee.commonarchivecore.FILTERBINARIES

Prevent certain application files from being listed during runtime processing.

Because of new JavaEE5 annotations processing requirements, more application files are typically listed during runtime processing than are listed in previous versions of the product. The additional listing might cause applications that are migrated from previous versions of the product to start more slowly, as additional time is spent listing application files.

Default: not set.

If we decide to use this custom property, specify it as an application server JVM custom property.


(v8552) org.eclipse.jst.j2ee.commonarchivecore.ignore.jee6.annotation

Use this property if all of the following are true:

If all of the previous conditions are true, the deployment probably fails because the application is promoted to the Java EE 6 level during deployment. WAS v7.x implements Java EE 5 and ignores Java EE 6 annotations. WAS V8.x and 8.5.x implement Java EE 6, and therefore Java EE 6 annotations are processed. This causes a Java EE 5 application containing Java EE 6 annotations to be promoted to the Java EE 6 level. Once the application is promoted, WAS V8.x and v8.5.x do not deploy the application to a node running WAS v7.x.

To ignore the Java EE 6 annotations, and to prevent the version of the application from being upgraded, set the property to true on the deployment manager. Default: false.

Set the custom property applies the setting to all applications. To apply the setting to a specific application, edit the META-INF/MANIFEST.MF file and add the following:Ignore-JEE6-Annotation: true.

When updating the application manifest, follow line-length limitations and other constraints for the manifest.


(v8552) org.eclipse.jst.j2ee.commonarchivecore.openAllArchivesTrue

Set the server to expand all archives.

To enable expansion of non-standard archives during deployment, set the property on the Application Server process involved with the deployment. For a dmgr, set the property on the dmgr process.

To enable expansion by the earExpander script, set the property as a Java Custom property by editing the earExpander script.

Default: false.

This property is not applied to JARs within JARs. JARs within JARS will not be expanded, even with the property set to true. All JARs in EAR files and all JARs in RAR files are active. The processing of JARs in EAR files and JARs in RAR files is not affected by the custom property.


(WAS v8.5.0.1) org.eclipse.jst.j2ee.commonarchivecore.PM62467.Disabled

Specify the behavior that occurs when an archive entry path contains a value that is not allowed.

When an application is deployed in WebSphere Application Server, the contents of the application archive and module files are extracted to the installedApps directory of the application server profile using the files' archive entry paths. Application files must be extracted to the installedApps directory, but if a file's archive entry path contains the value ../, the archive files could be extracted to another directory. If this custom property is false and the archive entry path contains the value ../, an ArchiveRuntimeException occurs and archive processing stops. If true, log a warning message and continue deploying the application.

Default: false.

If we decide to use this custom property, specify it as a JVM custom property on the deployment manager node and the application server.


overrideAutoProp

Propagate the plugin-cfg.xml to both the remote node repository and the remote web server location.

When true with manual propagation, the plugin-cfg.xml is propagated to BOTH the remote node repository and the remote web server location. When false with manual propagation, the plugin-cfg.xml is propagated to ONLY to the remote node repository and NOT to the web server location.

Default: false.

If we decide to use this custom property, specify it as a node JVM custom property.

Once this property is set for the node, you must synchronize the change to the node. Setting this property does require you to stop and start the node so that the setting takes effect.


plugin.syncdisabled

Disable the node synchronization called by the web server plug-in configuration propagation.

When true, web server plug-in configuration changes are not automatically synchronized across the node. This means that any web server plug-in configuration changes made are not propagated to the web server until you do a manual synchronization.

Default: false.

If we decide to use this custom property, specify it as a node JVM custom property.


sizeThreshold

Control the algorithm for caching attachments in the JAX-WS runtime environment. When SOAP messages are processed by the JAX-WS runtime environment, the runtime environment stores small attachments in memory and stores large attachments in a file on a disk.

Specify, in kilobytes, the maximum size of an attachment that can be written to memory. If we do not specify a value for this property, the default value is 32. This default value specifies that any attachment that is less than 32 KB is stored in memory.

If the value of this property is increased, larger attachments are stored in memory. Increased values might increase the performance of the web service; however, this increased value causes the Java heap to grow. Setting the value too high might cause OutOfMemoryError errors to occur.

When determining a value for this property, remember that the larger the maximum cache size, the greater the impact on performance, and, potentially, to the Java heap. Use this property only for Java and performance tuning.

This property does not affect the logical processing of JAX-WS web services. Your JAX-WS web services will successfully process SOAP messages containing both large and small attachments, regardless of the setting of this property.


threadpool.maxsize

Control the number of threads that can be included in a newly created thread pool. A dedicated thread is created to start each application server JVM. The JVMs with dedicated threads in this thread pool are the JVMs that are started in parallel whenever the node agent starts.

We can specify an integer from 0 - 5 as the value for this property. If the value specified is greater than 0, a thread pool is created with that value as the maximum number of threads that can be included in this newly created thread pool. The following table lists the supported values for this custom property and their effect.

threadpool.maxsize value Effect
Property threadpool.maxsize is set to 0 or not specified. The node agent starts up to five JVMs in parallel.
Property threadpool.maxsize is set to 1. The node agent starts the JVMs serially.
Property threadpool.maxsize is set to an integer value between 2 and 5. The node agent starts a number of JVMs equal to the specified value in parallel.

For example, suppose the node agent has ten JVMs that are set as running state, which means they are started whenever the node agent starts. If we specify 3 for this property, whenever you stop and start the node agent, only three of the ten JVMs are started in parallel when the node agent starts.

Avoid trouble:

This property is not specified by default. If we decide to use this custom property, specify it as a node agent JVM custom property.


webservices.unify.faults

Use the webservices.unify.faults property to enable SOAP Fault unification for JAX-WS and JAX-RPC. By default, the web service runtime environments (both JAX-WS and JAX-RPC) unify all faults generated by the runtime environment to a single type of fault containing a faultcode of Server and a faultstring of Internal Error. The faults do not contain any additional information identifying the actual cause of the fault. The unification of faults results in a more secure system, preventing detailed information regarding why inbound message processing failed from being returned to message senders.

Default: true, which causes faults to be unified. If the applications require fault details, then we can set this property to false to disable fault unification, allowing detailed information to be returned in faults. Note that regardless of the property setting, checked exceptions defined in the WSDL and thrown by a service provider method implementation are not unified. Additionally, detailed information regarding the cause of the fault are logged if trace is enabled, regardless of the setting of this property.


wink.client.readTimeout

Specify how long the RestClient object waits (in milliseconds) for a response to requests before timing out. A value of zero (0) means that the client waits for an unlimited amount of time and will not timeout.

Default: 60,000 milliseconds.


wink.client.connectTimeout

Specify how long the RestClient object waits (in milliseconds) before timing out when attempting to connect to the target resource. A value of zero (0) means that the client waits for an unlimited amount of time and will not timeout.

Default: 60,000 milliseconds.


Related tasks

Custom property settings
  • Enable static routing for a cluster
  • Configure inbound transports
  • Configure SOAP over JMS message types
  • Tune the IBM virtual machine for Java
  • HTTP transport custom properties for web services applications