+

Search Tips   |   Advanced Search

Java ™ virtual machine custom properties


Use the admin console to change the values of JVM custom properties.

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

Application Server

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

System Administration > Deployment manager > Java and process management > Process definition > Java virtual machine > Custom properties

Node agent

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.

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 Fatory 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.sib.webservices.useTypeSoapArray

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

  • The default RPC-encoded Web services string array message that is generated might not interoperate successfully with some target service providers.

  • The string array message produced is not exactly the same as the standard JAX-RPC equivalent, which can interoperate successfully.

Here are examples of the two different messages:

  • Service integration bus message:

    <partname env:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/ xsi:type='ns1:ArrayOf_xsd_string'>
      <item xsi:type='xsd:anySimpleType'>namevalue</item>
    </partname>
    
  • JAX-RPC client message:

    <partname xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[1]">
      <item>namevalue</item>
    </partname>
    

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.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, whereas on WAS 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.websphere.ejbcontainer.expandCMPCFJNDIName

Use this EJBs custom property to expand the variables used in a container-managed persistence (CMP) connection factory Java ™ Naming and Directory Interface (JNDI) name.

The EJB Container should allow for the expansion of the CMP connection factory JNDI name when a JNDI name contains a user-defined Application Server variable, although V6.1 does not support the expansion of variables. we need to use this property in order to expand the variables. You can enable or disable expansion.

To enable the expansion, the property value is true. To disable, use the value false.

The default is true.

If the value is true, the EJB container expands a variable found in the CMP connection factory JNDI name. If the value is false, the EJB container does not expand a variable.

com.ibm.websphere.application.updateapponcluster.waitforappsave

Specifies, 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: Is only valid if it is specified for a dmgr.

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 dmgr 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.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.quiesceTimeout

Specifies, 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.ejs.sm.server.quiesceInactiveRequestTime

Specifies, in milliseconds, how fast requests can come in and still be processed. For example, if we 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 appserver is stopped from the admin 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.websphere.deletejspclasses

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

com.ibm.websphere.deletejspclasses.delete

Use this property to indicate to delete Java Server 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.

com.ibm.websphere.deletejspclasses.update

Use this property to indicate to delete Java Server 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.

com.ibm.websphere.management.application.fullupdate

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.

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

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

  • false specifies that, when any of the applications are updated, you only want the changed files within that EAR file updated on the node and then synchronized.

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

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

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:

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

  • false that when the specified application is updated, you only want the changed files updated on the node and then synchronized.

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

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

Use this property to specify that you want the application recycling behavior to work the same way as this behavior worked in V5.x of WAS ND.

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 V5.x of WAS ND, 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.

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

  • true specifies that you want the application recycling behavior to work the same way as this behavior worked in Version 5.x of WAS ND.

  • false specifies that you want the application recycling behavior to work according to the V6.x and higher behavior schema.

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, we can specify a scope of cell if we 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

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

Avoid trouble: Is only valid if it is specified for a dmgr.

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 WAS 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 expands the enhanced EAR file in the APP_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_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_ROOT/profiles/installedApps/current_cell_name directory.

When this processEmbeddedConfigGlobal custom property is set to false, WAS does not process the embedded configuration of any application, including enhanced EAR files, during deployment. After you set processEmbeddedConfigGlobal to false, WAS 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, WAS processes the embedded configuration of enhanced EAR files.

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

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.

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

com.ibm.ws.management.repository.tempFileKeepTimeMinutes

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 WAS ND, 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 we need to specify a larger, or smaller value. We can specify a minimum value of 60 minutes for this property. However, it is recommended 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

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. We can disable this cleanup function by setting this property to 0.

In previous versions of WAS ND, 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.websphere.network.useMultiHome

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

  • true specifies that WAS listens on all IP addresses on the host for Discovery and SOAP messages.

  • false specifies that WAS only listens on the configured host name for Discovery and SOAP messages. If we set this property to false, you should have a host name configured on WAS that resolves to a specific IP address.

  • null specifies that WAS only listens on the default IP address only.

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 admin console. Modify the defaults by setting the value for the server, dmgr, and node agent. You must restart the server before these changes take effect.

com.ibm.websphere.webservices.attachements.maxMemCacheSize

Use this property to specify, in kilobytes, the maximum size of a Web services attachment 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.

f you 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.

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

The default value for this property is false.

com.ibm.ws.scripting.apptimeout

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, we might have a JACL script that updates an EAR file that cannot complete because the dmgr that the script is connected to stops.

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:

  • Web services disables encoding for integers that fall within the specified range.

  • The HTTP transport message contains a ContentTransferEncoding header that is set to the value specified for this custom property.

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

The default value is 7bit.

com.ibm.ws.webservices.disableSOAPElementLazyParse

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.

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.

The default value for this property is 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 that are managed by the dmgr.

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.

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.

com.ibm.ws.webservices.searchForAppServer

Use this property to control whether the MetaDataLoade E loadWebContainerPorts could not find any http or https ports message appears in the server error log file. This message might falsely indicate that an error occurred when a Web services application is installed across both a Web server and an appserver, even though this is a valid configuration.

If we set this property to true, the MetaDataLoade E loadWebContainerPorts could not find any http or https ports message does not appear in the server error log file. If we set this property to false, the MetaDataLoade E loadWebContainerPorts could not find any http or https ports message appears in the server error log file.

Avoid trouble: Do not use this property unless we are running on V7.0.0.1 or later.

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

The default value for this custom property is false.

com.ibm.websphere.ejb.UseEJB61FEPScanPolicy

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

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

com.ibm.websphere.webservices.UseWSFEP61ScanPolicy

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

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

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

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

java.net.preferIPv4Stack

Use this property to disable IPv6 support. On operating systems where IPv6 support is available, the underlying native socket that WAS 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

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

Support configuration of JSR-47 logging by setting the property value to true. When the custom property is set to true, the logging.properties file is read upon server startup and the logging configuration for applications using JSR-47 logging is initialized based on the configuration 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. Do not assign java.util.logging.ConsoleHandler to any of the loggers because this can cause an infinite loop as mentioned in the Java logging topic. The logging.properties file is located in...

<WAS_install>>/java/jre/lib/logging.properties

...and cannot be customized as needed. When the custom property is omitted or set to false, the logging.properties file is not used.

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.

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.

The default value is 300000 milliseconds.





 

Related tasks


Custom property settings
Enable static routing for a cluster
Set inbound transports Set the JVM

 

Related


HTTP transport custom properties for Web services applications