Application development without restarts
Some months ago, I read an interesting article about Javeleon. I thought it would be very useful for JVx developers because it is possible to start an application, modify screens and lifecycle objects and use the new instances live in the application without restarting it. It could save a lot of development time. Use the JRebel ROI calculator to see what you can save - It is amazing.
The integration of Javeleon in the JVx development process is very simple. Go to the Javeleon Download Page and download the standalone version 1.5 or 2.0 beta. It is not necessary to add javeleon.jar to the classpath of your application. If you use Eclipse, open the Run configuration dialog and add the following VM arguments:
-Xbootclasspath/p:"D:\temp\java\JaveleonBoot\default"
-javaagent:D:\libs\javeleon\javeleon.jar=nbjdk=default;profile=java
If you use version 1.5 and version 2.0 for your tests, be sure that you delete the D:\temp\java\JaveleonBoot directory. Otherwise you get JVM startup Exceptions.
After the first start, watch the Java Console view because Javeleon is disabled until you request and download a license. Don't be affraid because the license is used to keep track of how many users Javeleon has. Details about the license are available here. With a valid license, it is possible to start development.
If everything is setup correctly, start your application and open a work-screen. Go back to Eclipse and modify the source-code of your work-screen, e.g. change the Layout, change the text of a Label or change some properties of a DBStorage. Be sure that your source is compiled (should be the default Eclipse setting) before you go back to your application. To see the changes in your application, simply close and open the modified work-screen.
You save the time to restart your application and perform a login. The MetaData cache also saves some seconds.
One negative point is that you need JVx as project dependency instead of the jar version.
Update
It is possible to use Javeleon without JVx project dependency. Simply unzip jvx.jar and add the created folder (class folder) to your classpath. It is not possible to compile JVx!
Update [2]
With the current Javeleon beta release of today (Jan. 17) - version 2.0.3 - it is possible to use jar files too. Now the integration of Javeleon works perfect.
Thanks to Allan Gregersen and the Javeleon Team for the support.