How Hot Deployment Works
When you configure Integration Server to perform hot deployment of packages, Integration Server employs a block and wait approach. That is, Integration Server waits for the in-flight tasks that are related to the packages that are being deployed to complete before unloading the existing package information from memory. At the same time, when the hot deployment of packages starts, Integration Server blocks access to the assets that belong to or have dependency on the packages that are being deployed.
Integration Server ensures that there are no failures in the processing of assets by taking the following steps:
Wait for all in-flight tasks that are dependent on the packages being deployed to complete. You can specify the period of time for which
Integration Server must wait for the in-flight tasks to complete before attempting to deploy packages. If the tasks are not done within the specified timeout period, the hot deployment fails.
Integration Server also provides the option to recover the original packages in case hot deployment fails, thus ensuring there is no downtime.
Block the execution of assets that belong to or have dependency on the packages that are being deployed. That is, if a service that is being invoked belongs to a package that is getting deployed,
Integration Server will block the service invocation till the package is upgraded. When determining the assets that have dependency,
Integration Server will consider only those assets for which you have explicitly specified the package dependencies.