Hot Deployment - What Works, What Doesn't, What's Promising

Hot Deployment was one of the coolest feature of 11.1.2.0.0 release. Look like there are lot of confusion centered around on this topic. This post is meant for clarifying the offerings on Hot Deployment available with JDeveloper 11.1.2.0.0 release

Hot Deployment - What Works and What's Promising?
Please see 36.4 Reloading Oracle ADF Metadata in Integrated WebLogic Server in Fusion Developers Guide. Below is the excerpt for your quick reference ....

JDeveloper support for hot reloading of Oracle ADF metadata is an alternative to quitting the running application, editing your project's XML definition files, redeploying, and rerunning the application in Integrated WebLogic Server to view the latest changes.
Changes that you make to the Fusion web application projects will not be picked up automatically by an application that you have deployed to Integrated WebLogic Server. You can, however, reload metadata from the data model project and user interface project any time you want to synchronize the running application with changes you have made to your application's XML definition files.
To reload metadata so your changes are reflected in the deployed Fusion web application, you must recompile the project and refresh the web browser.
Metadata that JDeveloper will hot reload in Integrated WebLogic Server, include:
  • In the data model project, changes to the definition files of business components.
  • In the user interface project, changes to the binding definitions in the page definition files and changes to task flows in the task flow definition files.
This support makes it possible to make incremental changes and test them.

What doesn't work and why?

Well, simply changing the meta xml files or class files will not have any effect on runtime unless you recompile the project and refresh the web browser. This is because the DefinitionManager responsible for detecting meta xml file changes will not check the source folder for changes,rather it will scan output path for modified items. Apparently recompiling the project copy the meta files and class files to the output folder and all works after this step.

Please note that, your web page will continue detecting the changes dynamically(without recompiling the project) as it was doing in prior releases.

Comments

  1. Hello Jobinesh,

    Interesting post, thanks!

    In Release 1, I was able to run the application in Debug mode and I could change code inside java classes without restarting the server.

    In Release 2, this feature is not working anymore: when any class changes, after compilation and page run, the classloader throws 500 error: ClassCastException.

    ReplyDelete
  2. Most of the servers don't have hot deployment feature enabled by default. We need to configure hot deployment on our own.

    ReplyDelete

Post a Comment