Java agent that enables class reloading in a running JVM
Spring Loaded is a JVM agent for reloading class file changes whilst a JVM is running. It transforms classes at loadtime to make them amenable to later reloading. Unlike 'hot code replace' which only allows simple changes once a JVM is running (e.g. changes to method bodies), Spring Loaded allows you to add/modify/delete methods/fields/constructors. The annotations on types/methods/fields/constructors can also be modified and it is possible to add/remove/change values in enum types.
Spring Loaded is usable on any bytecode that may run on a JVM, and is actually the reloading system used in Grails 2.
Online resources:
- SpringLoaded Home - Project homepage at github
- Getting Started with SpringLoaded - Some basic usage instructions
- spring.io - Homepage for the Spring portfolio
- Spring Team Blog
- Video tutorial :