Oracle

Enabling hot deployment of code on WebLogic Server

Developers need a quick turn around time for making changes in development and debugging etc. WebLogic server has the ability of hot deploying code without needing to redeploy the application. This works particularly well when running the Integrated WebLogic Server.

To enable the functionality locate your weblogic-application.xml file that will be in your application. If using JDeveloper you’ll find it in your Application Resources panel usually on the left and it will be in the folder Descriptors->META-INF.

Double click this and you should see the Fast Swap panel.
Expand this panel and tick Enable Class Redefinition.

You should end up with the following in your file:


<fast-swap>
  <enabled>true</enabled>
</fast-swap>

Rebuild and redeploy your application and you will now have the ability to update your code and have it automatically pushed to the server. You will see the message “Redefined all recompiled classes that are loaded in the debuggee process.” in your logging panel when it pushes the files to the server. (Note, because JDeveloper doesn’t support automatic building of code you have to explicitly run “Make” on the files you have changed.

JDeveloper and ADF’s close coupling

I’ve been a core Java developer for a number of years now and I have quite a bit of experience with Spring, JBoss, JSF and Richfaces. However, I’m new to Oracle ADF. The organisation I now work for relies heavily on Oracle Fusion Middleware and therefore ADF. As I now have to learn the technology and how it fits together I thought I’d share this with everyone else to help you along too.

One thing I discovered the other day which adds it’s challenges is the fact that the standard IDE for JDeveloper is intrinsically tied to Fusion Middleware stack. So, if you are working on a project that depends on version 11.1.1.6 of ADF, then you have to use version 11.1.1.6 of JDeveloper. There is no way of upgrading just JDeveloper to take advantage of newer features in the later versions without upgrading your entire application and application server at the same time.

Seems a little too restrictive in my mind, however, I’m continuing to keep an open mind with respect to JDeveloper.