Java virtual machine custom properties

You can use the administrative console to change the values of Java™ virtual machine (JVM) custom properties.

To set custom properties, connect to the administrative console and navigate to the appropriate Java virtual machine custom properties page.

Application server

[z/OS] Click Servers > Server Types > WebSphere application servers > server_name, and then, in the Server Infrastructure section, click Java and process management > Process definition > Control > Java virtual machine > Custom properties

[AIX Solaris HP-UX Linux Windows] Click Servers > Server Types > WebSphere application servers > server_name, and then, under Server Infrastructure, click Java and process management > Process definition > Java virtual machine > Custom properties

Deployment manager

[z/OS] Click System Administration > Deployment manager > Java and process management > Process definition > Control > Java virtual machine > Custom properties

[AIX Solaris HP-UX Linux Windows] System Administration > Deployment manager > Java and process management > Process definition > Java virtual machine > Custom properties

Node agent

[z/OS] System Administration > Node agent > nodeagent_ name > Java and process management > Process definition > Control > Java virtual machine > Custom properties

[AIX Solaris HP-UX Linux Windows] 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 your changes.

You can use the Custom properties page to define the following properties for use by the Java virtual machine.

allowDeployerRoleGenPluginCfg

[Fix Pack 5 or later]

Set this custom property to true to enable users with the deployer role to generate and configure the plugin-cfg.xml file. After you set and save 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, you can set this custom property from the command line using the wsadmin tool 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:
wsadmin -f setAllowDeployer.jacl node_name server_name true

com.ibm.config.eclipse.wtp.enablejemtrim

[Fix Pack 9 or later]

Use this custom property to enable the pruning of intermediate DOM nodes after the XML parse of the metadata occurs for an application.

Avoid trouble: 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 truegotcha

The default value for this property is false.

com.ibm.config.eclipse.wtp.enablexmltrim

[Fix Pack 9 or later]

Use this custom property to enable the sharing of JavaClass instances, and the conversion of expanded JavaClass and JavaMethod objects to lightweight proxies after they are used.

Avoid trouble: 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.gotcha

The default value for this property is false.

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

[Fix Pack 9 or later]

Use this custom property to 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 you need to obtain additional information to diagnose the cause of that problem.gotcha

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

[Fix Pack 9 or later]

Use this custom property to 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 you need to obtain additional information to diagnose the cause of that problem.gotcha

com.ibm.eclipse.wtp.allowRootedEntries

[AIX] [HP-UX] [Linux] [Solaris] [z/OS] [Fix Pack 9 or later]

In previous service releases, properties files in the root directory of an enterprise archive (EAR) file are not read properly. Thus, in this service release and later, the behavior is changed so that the class path in META-INF and MANIFEST.MF files are treated as a relative URI. To revert back to the original behavior, set the com.ibm.eclipse.wtp.allowRootedEntries to true.

com.ibm.ejs.ras.writeSystemStreamsDirectlyToFile

Use this custom property to support JSR-47 customized logging to write to the SystemOut stream without the format of WebSphere Application Server. The format of WebSphere Application Server 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 WebSphere Application Server, set this custom property to true.

com.ibm.ejs.sm.server.quiesceInactiveRequestTime

[jun2010] Use this custom property to specify, in milliseconds, how fast IIOP requests through the Object Request Broker (ORB) can be received and processed. [jun2010]
jun2010
For example, if you specify a value of 5000 for this property, the server does not attempt to shutdown 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 administrative console the following error message might be issued:
An error occurred while stopping Server1. Check the error logs for more information.

The default value is 5000 (5 seconds).

com.ibm.ejs.sm.server.quiesceTimeout

Use this custom property to 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.

The default value is 180.

com.ibm.websphere.application.updateapponcluster.waitforappsave

Use this custom property to specify, in seconds, the amount of time that 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.gotcha

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 your 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.

The default value is 180.

com.ibm.websphere.bean.delete.sleep.time

[z/OS]

Use this property to 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.

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

com.ibm.websphere.deletejspclasses

Use this property to indicate that you want to delete JavaServer Pages classes for all applications after those applications have been deleted or updated. The default value for this property is false.

Avoid trouble: [oct2010] In a Network Deployment environment, this property only applies for the node agent. [oct2010]
oct2010
gotcha

com.ibm.websphere.deletejspclasses.delete

Use this property to indicate that you want to delete JavaServer Pages classes for all applications after those applications have been deleted, but not after they have been updated. The default value for this property is false.

Avoid trouble: [oct2010] In a Network Deployment environment, this property only applies for the node agent. [oct2010]
oct2010
gotcha

com.ibm.websphere.deletejspclasses.update

Use this property to indicate that you want to delete JavaServer Pages classes for all applications after those applications have been updated, but not after they have been deleted. The default value for this property is false.

Avoid trouble: [oct2010] In a Network Deployment environment, this property only applies for the node agent. [oct2010]
oct2010
gotcha

com.ibm.websphere.ejb.UseEJB61FEPScanPolicy

Use this property to 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.

The default value for this custom property is false.

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

com.ibm.websphere.ejbcontainer.expandCMPCFJNDIName

The EJB container should allow for the expansion of the CMP Connection Factor 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.

com.ibm.websphere.ejbcontainer.includeRootExceptionOnRollback

[Fix Pack 9 or later]
Use this Enterprise JavaBeans™ (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.

The default is false.

com.ibm.websphere.management.application.fullupdate

Use this property to specify that when any of your 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.

Setting the com.ibm.websphere.management.application.fullupdate property to:
Avoid trouble: Use the com.ibm.websphere.management.application.fullupdate.application_name property if you only want to do a full replacement for a specific application instead of all of your applications.gotcha

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

Use this property to 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.

Setting the com.ibm.websphere.management.application.fullupdate.application_name property to:
Avoid trouble: Use the com.ibm.websphere.management.application.fullupdate property if you want the binaries directory erased and the content of the updated EAR file completely extracted whenever any of your applications are updated.gotcha

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

Use this property to specify that you want your application recycling behavior to work the same way as this behavior worked in Version 5.x of the product.

In Version 6.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 Version 5.x of the product, an application is recycled only if the Enterprise Archive (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.

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

The default value for this custom property isfalse.

Avoid trouble: You must define this property in the node agent JVM. However, when defining this property, you 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.gotcha

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

Use this property to 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 that you specify 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 Version 7.0.0.1 or later.

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

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 that you specify 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 your applications are updated, one or more of these applications do not start when the server starts, you 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.gotcha

com.ibm.websphere.management.configservice.validatePropNames

[Fix Pack 7 or later]

Use this property to specify whether to enforce character restrictions for custom properties.

By default, character restrictions are enforced on custom property names. However, you can turn off character validation for custom property names by using one of the following methods:

com.ibm.websphere.management.jmx.random

[z/OS]

Use this property to enable the controller to randomly select an initial servant from the servant pool to process a Java Management Extensions (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.

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

com.ibm.websphere.management.nodesync.skipWebServerTarget

[Fix Pack 7 or later]

Use this property to 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 you set this custom property to true, the application server does not distribute application binaries to target nodes that contain 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 that contain 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:
wsadmin>$AdminApp isAppReady SuperApp 
ADMA5071I: Distribution status check started for application SuperApp. 
WebSphere:cell=IBMCell10,node=IBMNode30,distribution=true,expansion=skipped 
ADMA5011I: The cleanup of the temp directory for application SuperApp is complete. 
ADMA5072I: Distribution status check completed for application SuperApp. 
true
You can set this custom property for the deployment manager, but not the application server or node agent. You can use the administrative 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:
    Using Jacl
    $AdminTask setJVMSystemProperties {-serverName server_name -nodeName node_name -propertyName com.ibm.websphere.management.nodesync.skipWebServerTarget -propertyValue true}
    Using Jython string
    AdminTask.setJVMSystemProperties('[-serverName server_name -nodeName node_name -propertyName com.ibm.websphere.management.nodesync.skipWebServerTarget -propertyValue true]')
    Using Jython list
    AdminTask.setJVMSystemProperties (['-serverName', 'server_name', '-nodeName', 'node_name' '-propertyName', 'com.ibm.websphere.management.nodesync.skipWebServerTarget', '-propertyValue', 'true'])

    where the server_name and node_name variables are specific to your 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 Enterprise Archive (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 you 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 you 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 you set processEmbeddedConfigGlobal to false, the product does not process the embedded configuration of enhanced EAR files. However, when deploying an individual enhanced EAR file, you 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.

[z/OS] Avoid trouble: To apply this property, you must specify the property and its value in both the Control and Servant JVM custom properties.gotcha

com.ibm.websphere.management.registerServerIORWithLSD

[z/OS] [AIX Solaris HP-UX Linux Windows]

Use this property to 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_ADDRESSConfiguring inbound transports 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 this property is set to true, the federated server registers with the LSD. The default value for this custom property is true.

[AIX Solaris HP-UX Linux Windows] Avoid trouble: [aug2010] This property already exists in the list of ORB Service custom properties. To change the setting for this custom property, in the administrative console, click Servers> Application Servers > server_name > session management > Container Services > ORB Service > Custom Properties > com.ibm.websphere.management.registerServerIORWithLSD [aug2010]
aug2010
gotcha

[aug2010] 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 you 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. [aug2010]

aug2010

When you 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 you 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. Enabling 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.
Note: With dynamic application server ports, you 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.

Setting 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.

gotcha

com.ibm.websphere.metadata.ignoreDuplicateRefBindingsInWebModul

[Fix Pack 5 or later]

Use this property to control whether the JVM ignores instances of duplicate reference bindings in the DTD file for a Web module in a Java 2 Platform, Enterprise Edition (J2EE) version 1.3 application. Typically a MetaDataException occurs if the DTD file for a Web module in a Java 2 Platform, Enterprise Edition (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 that contains 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 you have DTD files for Web modules in Java 2 Platform, Enterprise Edition (J2EE) version 1.3 applications that contain duplicate reference bindings, you can either remove the duplicate reference, or add this property to your JVM configuration settings, and set the property to true.

com.ibm.websphere.network.useMultiHome

[AIX Solaris HP-UX Linux Windows] 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:
[z/OS] 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 you set the property to false, you must also: You can change the value through the administrative 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 you cannot contact the server, check the setting for com.ibm.websphere.network.useMultihome to ensure it is correct. You can change the value through the administrative console. Modify the defaults by setting the value for the server, deployment manager, and node agent. You must restart the server before these changes take effect.

com.ibm.websphere.sib.webservices.useTypeSoapArray

You 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

[Fix Pack 5 or later]

Use this property to 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 you need to 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

com.ibm.websphere.webservices.attachements.maxMemCacheSize

[nov2010] Use this property to specify, in kilobytes, the maximum size of an attachment on the JAX-RPC client or service that can be written to memory. [nov2010]

nov2010
For example, if your 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 you do not specify a value for this property, the maximum memory that is used to cache attachments is 32 KB, which is the default value for this property.

Supported configurations: [nov2010] 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. [nov2010]
nov2010
sptcfg

com.ibm.websphere.webservices.DisableIBMJAXWSEngine

[Fix Pack 7 or later]

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.

com.ibm.websphere.webservices.http.waitingThreadsThreshold

[Fix Pack 5 or later]

Use this property to 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.

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

The default value for this custom property is 5.

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

[Fix Pack 7 or later]

Specifies whether a WSDL file is published for a client Web module. When this property is set to true, if an application contains a client Web module, a WSDL file might be published for that client. If you do not want WSDL files published for your client applications, set this property to false.

The default value of this property is true.

Avoid trouble: gotcha

com.ibm.websphere.webservices.tempAttachDir

[Fix Pack 9 or later]

Use this property to 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 you do not specify a value for this property, the cached copy of the attachment is typically sent to the default temporary directory for your operating system.

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

[Fix Pack 5 or later]

Use this property to control the JMS message type that is 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.

com.ibm.websphere.webservices.transport.OPTIMIZE_HTTP_HEADERS

[Fix Pack 9 or later]

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 Version 7.0.0.3 or later. If the application server does not process the SAVE_CONNECTION header, you might see a 1% reduction in the throughput time.

You can set the com.ibm.websphere.webservices.transport.OPTIMIZE_HTTP_HEADERS custom property to disable the SAVE_CONNECTION header if you need additional performance. By default, this custom property is set to false, which enables the application server to process the SAVE_CONNECTION header. If you need to use this custom property, set it to true on the application server that is hosting the JAX-WS client application.
Important: You must verify that the application server for the client and application server host for the Web service are both using Version 7.0.0.3 or later. If they are not both using this minimum fix pack level, you might experience unpredictable behavior and lost messages.

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

[Fix Pack 9 or later]

Use this property to 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 you create 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 your JAX-WS application, set this property to false.

Prior to Version 7.0.0.9, if an SSL binding is attached to a JAX-WS application, JAX-WS automatically uses the system default SSL settings instead of using the SSL transport bindings.

com.ibm.websphere.webservices.UseWSFEP61ScanPolicy

Use this property to 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.

The default value for this custom property is false.

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

com.ibm.websphere.webservices.WSDL_Generation_Extra_Classpath

Use this property to set the location of the shared class files. The wsgen command-line tool generates the necessary artifacts that are required for Java API for XML Web Services (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)
Use this property to provide the fully qualified location to the missing class files. With this custom property, you can provide fully qualified paths to multiple Java archives (JAR) and directories and separate them using a semicolon (;).

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

[Fix Pack 5 or later]

Use this property to 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 Platform, Enterprise Edition (Java EE) 5 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, you can list these archives and utilities as the value for this property. If the application includes Java Packages that do not contain annotations, you 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.

As an alternative to using this custom property, you can add the Ignore-Scanning-Archives property to one of the following files or modules, and specify the archives and utilities that you 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 Enterprise JavaBeans (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.gotcha
Example:
Ignore-Scanning-Archives : ant.jar,  avalon-framework-4.2.0.jar, axis.jar, CICS.jar, xerces.jar

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

[Fix Pack 5 or later]

Use this property to 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 Platform, Enterprise Edition (Java EE) 5 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, you can list them as the value for this property. If the application includes archives or utilities that do not contain annotations, you 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.

As an alternative to using this custom property, you can add the Ignore-Scanning-Packages property to one of the following files or modules, and specify the archives and utilities that you 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 Enterprise JavaBeans (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.gotcha
Example:
Ignore-Scanning-Packages : org.apache.avalon, org.apache.batik, org.apache.commons

com.ibm.ws.application.enhancedScanning

[Fix Pack 11 or later]
Use this property to disable several optimizations that decreases the time to deploy and start enterprise applications. The optimizations primarily involve Java Platform, Enterprise Edition (Java EE 5)-enabled applications. When you set this property to false, the following updates are disabled: If you set this property to false, you might experience decreases in performance. Thus, by default, this property value is set to true.

com.ibm.ws.cache.CacheConfig.alwaysSetSurrogateControlHdr

[Fix Pack 3 or later]

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.

The default value is false, which means that the surrogate-control header might not be set on the response.

com.ibm.ws.cache.CacheConfig.cascadeCachespecProperties

Use this property to enable child pages or fragments to inherit the cascade of save-attributes, and store-cookies properties from their parent pages or fragments.. The default value is 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.

com.ibm.ws.cache.CacheConfig.filteredStatusCodes

[Fix Pack 13 or later]

Use this property to indicate error situations in which you 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.

com.ibm.ws.cache.CacheConfig.useServerClassLoader

Use this property to specify which classloader the JVM should use when deserializing an InvalidationEvent. If you set this property to true, the server classloader is used to deserialize the InvalidationEvent. If you set this property to false, the application classloader is used to deserialize the InvalidationEvent. The default value is true.

Using the appropriate classloader when deserializing an InvalidationEvent helps improve performance.

com.ibm.ws.CacheConfig.alwaysTriggerCommandInvalidations

[Fix Pack 9 or later]

Use this property to 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. The default value for this property is false.

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

com.ibm.ws.classloader.allowDisposedClassLoad

[Fix Pack 9 or later]

Use this property to specify 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.

The default value for this property is true.

com.ibm.ws.classloader.strict

[Fix Pack 11 or later]

Use this property to enable the WebSphere Application Server 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. If you want 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.

The default value for this property is false.

com.ibm.ws.classloader.zipFileCacheSize

Use this property to 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.

The default value for this property is 8. Specifying a value of 0 disables the cache and prevents application JAR files from being held open.

[Windows] Avoid trouble: Avoid Trouble: Do not use the Microsoft® Windows® Hot Deployment function if you specify a value other than 0 for this property. gotcha

com.ibm.ws.el.reuseEvaluationContext

[Fix Pack 11 or later]

Use this property to 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.

The default value is false.

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

[Fix Pack 13 or later]

Use this property to indicate whether you want to log the host, port, and username of SOAP client requests. When this property is set to 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.

The default value for this property is false.

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

[Windows] [Fix Pack 5 or later]

Use this property to 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.

Specifying a value of 0 disables the timeout.

com.ibm.ws.management.repository.tempFileKeepTimeMinutes

[Fix Pack 3 or later]

Use this property to 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. The default value for this property is 1440 minutes, which is equal to 24 hours. In previous versions of the product, a file was kept for 60 minutes.

The default value is typically sufficient for performing needed cleanup without deleting files that are in use. However, there might be situations where you need to specify a larger, or smaller value. You can specify a minimum value of 60 minutes for this property. However, it is recommended that you specify 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.gotcha

com.ibm.ws.management.repository.tempFileSweepIntervalMinutes

[Fix Pack 3 or later]

Use this property to 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. The default value for this property is 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. You 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.gotcha

com.ibm.ws.pm.checkingDBconnection

Use this property to specify 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 you 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.

The default value for this property is false.

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

[Fix Pack 9 or later]

Use this property to 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 you are using a resource adapter that requires the availability of Connection Factory MBeans at initialization, add this property to your JVM settings and set the value to true.

The default value for this property is false.

com.ibm.ws.scripting.apptimeout

[Fix Pack 3 or later]

Use this property to specify, in seconds, the length of time that can elapse before an application installation, or an application update times out. The default value is 86400, which is equivalent to 24 hours.

Specifying 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, you 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 WebSphere Application Server Version 6 or later, a SOAP over JMS Web service message sent by the Web services gateway is sent as a JmsBytesMessage, whereas on WebSphere Application Server Version 5.1 the Web services gateway sends a JmsTextMessage.

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.

com.ibm.ws.use602RequiredAttrCompatibility

[Fix Pack 9 or later]

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 Version 6.0.2, if you 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 later versions, by default, the <required> attribute is evaluated along with all of the other attributes to determine if a cache ID is generated.trns
Note: If you 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 Version 6.0.2. The <required> attribute is evaluated prior to other attributes in the cachespec.xml file. The default value for this custom property is false. When you set this JVM custom property, which only applies to the application server level, it affects all of the dynamic cache users.

com.ibm.ws.webservices.allowNoSOAPActionHeader

[Fix Pack 9 or later]

Use this property to 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

com.ibm.ws.webservices.contentTransferEncoding

Use this property to specify a range of bits for which .XML-encoding is disabled. Typically any integer that is greater than 127 is XML-encoded. When you specify 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.

The default value is 7bit.

com.ibm.ws.webservices.disableSOAPElementLazyParse

[Fix Pack 1 or later]

Use this property to 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.

You 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. The default value for this property is false.

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

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

[Fix Pack 9 or later]

Use this property to 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 this property is set to 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.

The default value for this property is false.

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

com.ibm.ws.webservices.ignoreUnknownElements

Use this property to control whether clients can ignore extra XML elements that are sometimes found within literal SOAP operation responses.

Setting this property to true provides you with the flexibility of being able to update your 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.

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

[Fix Pack 7 or later]

Use this property to 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 you set this property to true, the JAX-RPC engine uses a more tolerant algorithm that ignores the namespace mismatch.

The default value is false

com.ibm.ws.webservices.resolveXMLSchemaDTD

[Fix Pack 5 or later]

Use this custom property to 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

Setting 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.

The default value is false

com.ibm.ws.webservices.searchForAppServer

[Fix Pack 5 or later]

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

Depending on your 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 your 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.

The default value for this property is false.

com.ibm.ws.webservices.suppressHTTPRequestPortSuffix

Use this property to 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 you have a Web service client that needs to inter-operate 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 you set this property to true, the port number is removed from the HTTP POST request before it is sent.

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

The default value for this custom property is false.

[nov2010]

com.ibm.ws.websvcs.attachments.sizethreshold

[Fix Pack 9 or later] [nov2010]
nov2010

Use this property to specify, in kilobytes, 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 kilobytes. 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.

Note: 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.

com.ibm.ws.websvcs.suppressHTTPRequestPortSuffix

[Fix Pack 11 or later]

Use this property to 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 your JVM settings, and set it to true. When this property is set to true, the Host header only contains the hostname of the endpoint URL; for example, Host: lilygirl.austin.mycompany.com

The default value for this property is false, which means that, the port number is appended to a Host header value.

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

[Fix Pack 9 or later]

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

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

Normally, you 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.

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

Use this property to 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. The default value for this property is true.

Avoid trouble: If you 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.gotcha

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

[Fix Pack 7 or later]
Use this custom property to control whether optimization methods are enabled for Java Architecture for XML Binding (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.
Table 1. Supported values for the custom property
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, which is the default value.
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.

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

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

[nov2010]

config_consistency_check

[nov2010]
nov2010
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, you can add the config_consistency_check custom property to your 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, you can ignore this message.sptcfg

deactivateWildCardURIMapping

[Fix Pack 9 or later]

Use this property to 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.

Setting 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.

disableWSAddressCaching

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

The default value for this property is false.

DRS_THREADPOOL_ISGROWABLE

[Fix Pack 13 or later]

Specifies whether the number of threads can increase beyond the maximum size that is 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, that is 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.

The default value for this custom property is false.

DRS_THREADPOOL_MINSIZE

[Fix Pack 13 or later]

Specifies the 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 that is assigned to the application server requires them and until the number of threads in the pool equals the number of threads that are 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 that is specified by this custom property, even if some of the threads are idle.

The default value for this custom property is 40 threads.

DRS_THREADPOOL_MAXSIZE

[Fix Pack 13 or later]

Specifies the maximum number of threads to maintain in the DRS thread pool.

The default value for this custom property is 100 threads.

dynacache.jms.cacheInstance

[Fix Pack 9 or later]

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. You can use the administrative console to determine the names of the cache instances that are defined for your system.

dynacache.jms.connRetryInterval

[Fix Pack 9 or later]

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.

The default value for this property is 30.

dynacache.jms.invProcessingDelay

[Fix Pack 9 or later]

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.

The default value for this property is 20.

dynacache.jms.numStoredInvalidations

[Fix Pack 9 or later]

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.

The default value for this property is 10000.

invocationCacheSize

[z/OS]

Use this property to 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.

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

java.net.preferIPv4Stack

[AIX Solaris HP-UX Linux Windows]

Use this property to 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, you can use IPv6 sockets to connect to and accept connections from both IPv4 and IPv6 hosts.

Setting 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

[AIX Solaris HP-UX Linux Windows]

Use this property to disable IPv4 support. Setting 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 Windows operating system where the default is true.

java.util.logging.configureByLoggingPropertiesFile

[oct2010]

Use this custom property to 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 as mentioned in the Java logging topic. gotcha

[AIX Solaris HP-UX Linux Windows] The logging.properties file is located in the <<WAS_install>>/java/jre/lib/logging.properties directory, and can be customized as needed.

[z/OS] The logging.properties file is located in the <<WAS_install>>/java/J*/lib/logging.properties directory, and can be customized as needed.

The default setting for this property is false.

[oct2010]
oct2010

jaxws.payload.highFidelity

[Fix Pack 9 or later]

Use this property to enable lossless transformations. When this property is set to 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, you must add this property to your 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 your SOAP requests access the contents of a soapenv:Body element within your SOAPHandlers. Setting the property to true might degrade Web Service runtime performance.bprac

The default value for this property is false.

jaxws.provider.interpretNullAsOneway

[Fix Pack 13 or later]

If you 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, you 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. When this property is set to true the runtime environment interprets the null value returned from the Provider implementation as a request-only operation so that no response is returned, when there is no WSDL file defined.

By default, whenever the Provider implementation returns a null value and a WSDL file is not defined, a response is sent that consists of a SOAPEnvelope that contains an empty SOAPBody element.

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 returns a response that consists of a SOAPEnvelope that contains an empty SOAPBody.

The default value for this custom property is false.

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

ODCClearMessageAge

Use this property to 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.

You 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.

The default value is 300000 milliseconds.

ODCGroup.disabled

[Fix Pack 11 or later]

Set this property to true if you want to disable the communication between processes for the On Demand Configuration (ODC) component. If you do not use ODC, setting this property to true completely disables ODC when its not being used, which reduces network bandwidth and CPU utilization.

ODC is typically used to deploy Web services-based applications, or if a WebSphere Application Server Proxy Server is being used to handle requests. If you do not use either of these functions, the on demand configuration component is not utilized and can be disabled.

The default value is false.

Avoid trouble: Setting this property to true is equivalent to setting the previously available property ODC.BBEnabled to false.

If you want to disable the communication between processes for the On Demand Configuration (ODC) component, but still maintain communication for all local ODC processing, use the ODCInit.disabled custom property instead of the ODCGroup.disabled custom property.

gotcha

ODCInit.disabled

[Fix Pack 11 or later]

Set this property to true if you want to disable the communication between processes for the On Demand Configuration (ODC) component, and for all local ODC processing. If you do not use ODC, setting this property to true completely disables ODC when its not being used, which reduces network bandwidth and CPU utilization.

ODC is typically used to deploy Web services-based applications, or if a WebSphere Application Server Proxy Server is being used to handle requests. If you do not use either of these functions, the on demand configuration component is not utilized and can be disabled.

The default value is false.

Avoid trouble: If you want to disable the communication between processes for the On Demand Configuration (ODC) component, but still maintain communication for all local ODC processing, use the ODCGroup.disabled custom property instead of the ODCInit.disabled custom property.gotcha

sizeThreshold

[Fix Pack 9 or later]

Use this property when you want to 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.

Use this property to specify, in kilobytes, the maximum size of an attachment that can be written to memory. If you 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.

[aug2010]

threadpool.maxsize

[aug2010]
aug2010

The JVM custom property, threadpool.maxsize, is a dedicated string used to start each application server. threadpool.maxsize controls the number of application servers that are started in parallel. You add threadpool.maxsize on the Node Agent to provide thread pool size as follows:

System Administration > Node agent > nodeagent_ name > Configuration > Java and Process Management > Process Definition > Java Virtual Machine > Custom Properties > New. Then you supply the name, threadpool.maxsize and a value.

If the value you supply is greater than 0, then a threadpool is created with that value as its maximum value. For example, if the value you supply is 3, a maximum of 3 application servers will be started in parallel. If the value you supply is 0 or less than 0, then the Node Agent behaves by launching application servers sequentially.

There is no default value. If you choose to use threadpool.maxsize, you must supply a value.
Note: When using the administrative console, you cannot leave the threadpool.maxsize value field blank. If you pass a blank value to the property from the command line then it will be considered as an illegal value, and the default behavior of the Node Agent is restored.

There is no maximum value for threadpool.maxsize. The maximum threads created will be equal to the number Application Servers. You cannot configure this value.

was.xcfmonitor.enabled

[z/OS]

Use this property to enable the use of the z/OS® Cross-system Coupling Facility (XCF) for monitoring application server status. When this property is set to true, node agents can use XCF to monitor their application servers, application servers can use XCF to monitor their node agents, and an administrative agent server can use XCF to monitor its registered application servers. When this property is set to false, the TCP/IP pinging method is used to monitor application server and node agent status.

The default value is true.




Related tasks
Custom property settings
Enabling static routing for a cluster
Configuring inbound transports
[Fix Pack 5 or later] Configuring SOAP over JMS message types
Configuring the JVM
Related reference
HTTP transport custom properties for Web services applications
Web services client port information
Reference topic    

Terms of Use | Feedback

Last updated: Oct 21, 2010 7:37:48 AM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=v701sca&product=was-nd-mp&topic=xrun_jvm
File name: xrun_jvm.html