Integration Server 10.15 | Integration Server Administrator's Guide | Managing Packages | Hot Deployment of Packages | How Hot Deployment Works | Package Dependencies and Hot Deployment
 
Package Dependencies and Hot Deployment
During hot deployment, Integration Server uses package dependencies for two purposes:
*To determine which service requests must complete before starting the hot deployment. Integration Server waits for completion of service requests in the deployed package and in any dependent packages.
*To block new requests for services in the deployed package as well as its identified dependent packages.
To ensure that there is no disruption of in-flight tasks, it is important that you set the package dependencies correctly. If you do not set the dependencies, Integration Server might go ahead with the invocation of an asset. If the asset is being upgraded at that time, the invocation could fail with an error.
For example, if you have not explicitly specified “FinanceUtil” as a dependent package of the “Finance” package, Integration Server will not wait for the completion of the execution of an asset in “FinanceUtil” package before deploying the “Finance” package. This could result in the hot deployment of the “Finance” package failing. Integration Server will wait for the completion of the execution of an asset in “FinanceUtil” package before hot deploying the “Finance” package only if you explicitly specify “FinanceUtil” as a dependent package of the “Finance” package. For more information about package dependencies, see webMethods Service Development Help.
Integration Server also uses package dependencies to determine which packages to reload as part of hot deployment. By default, Integration Server reloads the package being deployed and any dependent packages. Reloading dependent packages refreshes any cached assets. However, during hot deployment, reloading dependents can cause service requests to timeout, especially if package dependencies are complex. In some cases, such as when there are no shared cached assets among the packages, reloading dependent packages does not provide any benefit. Preventing dependent packages from reloading may provide a performance improvement. In Designer, clear the Reload this package if any of the above packages are reloaded or replaced option in the package properties to instruct Integration Server to skip package reloading when the package on which it depends is reloaded or replaced.