Implement Config Changes in 6.0


Typical configuration changes implemented on a commerce instance is done via the famous instance xml file. This file is located at
{WCS_HOME}/instances/{INST_NAME}\xml\{INST_NAME}.xml
Going back to 5.6.x version of commerce, any changes to this xml file are immediately picked up by commerce when the server is restarted.This changed with Commerce 6.0 and up.
If you always make changes to commerce configuration using the commerce config admin, you do not have to worry about this change. However, if you make changes to the instance configuration by manually editing the instance xml file, then you should be aware of this change. Any manual changes to the instance xml file are not picked up by commerce runtime after a server restart. This is because the actual config file that commerce runtime reads is at a different location. Commerce runtime reads
{WAS_HOME}\profiles\{WC_PROFILE_NAME}\installedApps\{WC_CELL_NAME}\{WC_INST_NAME}.ear\xml\config\wc-server.xml.
If you are making config changes through config admin tool, then these two files are in sync. Therefore, above two files are expected to be identical at all times. However, any manual change to the instance xml must also be reflected in the wc-server.xml file.
Now, if commerce picks up changes only from wc-server.xml, you might ask why bother changing the instance xml file! Any manual changes to wc-server.xml must also be reflected in instance.xml file, because a future update using config admin tool will override your changes to wc-server.xml. Basically commerce config admin tool picks up instance.xml file where as the run time picks up changes to wc-server.xml. It is therefore a good idea to keep these in sync all the time.
A note about development: There is only one to worry about in a development environment and that is wc-server.xml
Please note that this updated file must be deployed and not copied to the node. For further information, please read my post on “Deploy or Copy“.
Dinesh said,
August 9, 2007 at 8:48 am
I generally use the ant target UpdateEAR so that it picks up the modified instance.xml file automatically. While the file can also be deployed, i think this is an eaiser way,
the command for this would be:
{WCS_HOME}/bin/config_ant -DinstanceName=instance UpdateEAR