argh - hot application deployment fails

i'm running 64-bit IntelliJ 11.1.2 with 64-bit java 6.0.31 and a local instance of 32-bit tomcat server.  (the 64-bit tomcat was throwing an sql exception for some reason and would not allow my app to start).  that is my setup.

tomcat is using an exploded war, and i'm running the app in debug mode.  when i click on the blue-circle-arrow "Update {application}" button and then select "Update classes and resources", i see this error in a red balloon pointing at the "Debug" button/area on the bottom:

Hot Swap failed
{application}: schema change not implemented;
{application}: Operation not supported by VM

i would _really_ like to get this working, so i can change a .java file and see the resulting .class change immediately, or nearly immediately.  as it is i have to do a redeploy which is much much slower.

5 comments

Not all of the changes in an application can be hot-swapped by the JVM; for example, hot swap will not work if you add or remove a field to one of your classes. To get around this limitation, you may want to look into JRebel, which has a nice IntelliJ IDEA plugin.

0

ha ha - i was testing the hot deployment by adding a new field to an xml config file to see the failure, then adding the new field to the class to see the success - which failed.  besides new fields, what else does not work with hot swapping?  i'll take a look at JRebel.

i'll test the hot swapping by changing code instead.

0

okay, hot swapping does work when i just change code.  i feel like the guy who spent hours trying to figure out why the machine wouldn't work only to discover that the power cord was not plugged in.  sheesh.

but i really would like to know when hot swapping will not work.  new properties, methods and classes i assume will fail.  anything else?

JRebel looks great, but too rich for my (and my company's) blood.

thanks!

0

JVM HotSwap is limited to method mody changes.

0

taking into account the time you spend on redeploys, multiplying to the average salary of a software developer, JRebel pays itself back in a couple of weeks

0

Please sign in to leave a comment.