Some useful things to know about appspace_config.ini_template and appnode_config.ini_template files
This is well known that ‘appspace_config.ini_template’ and ‘appnode_config.ini_template’ files from the <TIBCO_HOME>/bw/6.X/config folder are available as templates to create ‘config.ini’ files for appspaces and appnodes.
But there are a few other useful things to know about those files that I will explain in this article.
When an appspace is created using the TEA WEB interface or using the bwadmin Command Line Interface without specifying a ‘config.ini’ file there is no ‘config.ini’ file created in the appspace folder (<TIBCO_HOME>/bw/6.X/domains/<DOMAIN_NAME>/appspaces/<APPSPACE_NAME>).
So how works this appspace if there is no ‘config.ini’ file ? In fact this is the ‘appspace_config.ini_template’ that is used at runtime in this scenario.
This means that if some properties are added or updated in this file all appspaces created without a specific ‘config.ini’ file will use these properties (this includes new and existing appspaces).
This is a best practice to have a ‘config.ini’ file to manage the configuration of each appspace, but for stateless appspaces (I mean appspaces using bw.engine.persistenceMode=memory) this is viable to rely on the template file and have all appspaces sharing the same configuration.
When an appnode is created using the TEA WEB interface or using the bwadmin Command Line Interface without specifying a ‘config.ini’ file there is in this case a config.ini file created in the appnode folder (<TIBCO_HOME>/bw/6.X/domains/<DOMAIN_NAME>/appnodes/<APPSPACE_NAME>/<APPNODE_NAME>).
In practice the appnode ‘config.ini’ file is created using the ‘appnode_config.ini_template’.
This means that if some properties are added or updated in this file all appnodes created after the update will include these properties in their ‘config.ini’ file (but existing appnodes ‘config.ini’ files will not be updated).
While this could be a bit cumbersome to manage a ‘config.ini’ file for each appnode this is a good practice to update the ‘appnode_config.ini_template’ just after BusinessWorks installation (and before any appnode creation) and to include in this file properties that we want all appnodes to use.
This is common to use this approach to enable the memory saving mode (bw.engine.enable.memory.saving.mode=true) and the cache cleaning at start-up (bw.appnode.clean.config.folder.on.startup=true) — which I recommend to use in production environment.
‘appspace_config.ini_template’ and ‘appnode_config.ini_template’ files are available as templates to create ‘config.ini’ files for appspaces or appnodes.
In addition to this the ‘appspace_config.ini_template’ is used at runtime by appspaces created without specifying explicitly a config.ini file, which is a way to manage a default configuration for stateless appspaces, and the ‘appnode_config.ini_template’ file is used at appnode creation time which is a way to manage a default appnode creation time configuration.
Keep in mind also that those files are present on all machines of a BusinessWorks configuration and have to be updated on all machines.