Hot Update of Application Module Properties and Module Property for JDBC Shared Resource

With this feature, you can update the application module properties and the JDBC shared resource module property without restarting the application.

The hot update feature can only be used by configuring an application with Configuration Management Services and Credential Management Services. For more information, see Using Configurations from Configuration Management Services and Credential Management Services for Properties of Type Password.

Note: Hot update on Kubernetes ConfigMap is not supported.

Hot Update is applied on module properties and can be extended to shared resources (JDBC shared resource). A few fields in the shared resource, when configured, can be updated using the hot update feature.

 

Affected areas where the updated properties come in effect at runtime

The updated properties are affected only in the activity input mapping as the following:

  • The updated properties are affected only in the activity input mappings through the getModuleProperty() of the XPath function.
  • The process properties mapped to the module properties used as input mappings.

 

Behavioral changes during runtime after update call of the application properties and the JDBC shared resource module property:

In an application, a number of jobs (process instances) are running in an AppNode. After the update call of application module properties, the already running process instances continue to run with the old set of the module properties, and the new process instances created after the update run with the new set of module properties.

 

Behavioral changes for subprocesses after update call of application properties and JDBC shared resource module property:

There are two types of subprocesses:

  • Direct subprocesses:
    • Spawned: For spawned subprocesses, the latest set of application properties and JDBC shared resource module property is used.
    • Non-spawned: The same set of application properties and JDBC shared resource module property as that of the parent process is used.
  • Service-based subprocess: In the service-based subprocess, the parent process waits for a reply from the subprocess, so the same set of properties as the parent is used for the subprocess.

 

Using hot update for application module properties

  • To configure hot update, change the properties of the application at the configured Configuration Management service.
  • Hit a public REST API /bwm/monitor.json/refresh of the container at port 8090.
  • The updated properties from the configured management services are used to update the application module properties inside the application.


Using hot update for JDBC shared resource module property

To configure hot update, tokenize the JDBC shared resource module property. For more information, see Tokenizing Application Properties.
  • Hit a public REST API /bwm/monitor.json/refresh of the container at port 8090. To perform the hot update, use Docker and Consul for changing the supported shared resource module properties.
  • The updated properties from the configured management services are used to update the module properties inside the application.

 

Limitations for hot update for JDBC shared resource module property

You cannot change the driver.
You can only change the IP address/host, port number, database name, and properties of the URL.
If the entire URL or the protocol in the URL is changed, the changes are ignored.