Javeleon

(Difference between revisions)
Jglick (Talk | contribs)
(Created page with '=Overview= Javeleon is a Java bytecode reloading tool. [http://javeleon.org/ javeleon.org] is the general website, with information about the tool and the team that develops it.…')
Newer edit →

Revision as of 15:43, 12 June 2012

Contents

Overview

Javeleon is a Java bytecode reloading tool. javeleon.org is the general website, with information about the tool and the team that develops it.

It lets code for programs be reloaded without stopping the program or losing instance state. JPDA "HotSwap" is a very simplistic example of the same concept, but that cannot handle any class structure changes. DCE-VM and JRebel are more relevant comparisons. Compared to JRebel, Javeleon handles a broader range of transformations, but is less mature. WebLogic also has some class reloading support.

NetBeans Platform integration

Javeleon includes integration with the NetBeans module system, permitting reloads of modules in Platform-based applications (or IDE plugins). An update site is available where a NetBeans integration plugin can be downloaded, which includes the runtime agent (javeleon.jar).

Integration is available for both the Ant harness, and nbm-maven-plugin.

NB 7.2+

For current versions of NetBeans, the plugin adds a panel to the Properties dialog for your module/suite/application which allows the Javeleon agent to be enabled when running the application, permits JVM flag configuration, and accepts a license key.

Older

For older versions of NetBeans, the plugin adds a context menu item which adds the agent to "run" arguments in project metadata.

Technical details

The Javeleon agent uses a few hooks in the NetBeans module system (o.n.bootstrap & core.startup), with descriptive class or method names. These were added in 7.0 (#195074); previously Javeleon patched NetBeans classes on load. For 7.2+, the StartupExtender API is used to inject the agent and other VM args into the application launch command.

Javeleon for NB piggybacks on the regular module reload (--reload CLI option: DevFaqModuleReload), which is unmodified on the development IDE side. On the application side it automatically uses Javeleon-specific reload mechanics when the agent is loaded; notably, the reloaded module and its dependents are not turned off and back on.

Contacts

[javeleon@apisupport.netbeans.org] is the discussion list. subscribe/manage

Outstanding issues

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo