This will be part of the next archetype when 1.4.0 of Isis is released). The appropriate changes have been made to the "simple app" (with a hard-coded location for the JAR file. Locate the danhaywood-isis-jrebel-plugin-1.0.0-SNAPSHOT.jar JAR file (in target folder).
#Jrebel eclipse configuration code#
you won't need to do this once Isis 1.4.0 is out thereĬheck out the source code for this project, and compile.this plugin has not been tested against other IDEs, but might well work.Īt the time of writing, Isis 1.4.0 hasn't been released, so grab the Isis source code ( 1.4.0-SNAPSHOT), and compile.New properties of persistent domain objects must be marked as optional ( or, you can make the column mandatory so long as you also specify a default clause ( annotation here). However, things should correct themselves for the subsequent requests, so you can simply ignore the exception and carry on. This is caused by a temporary mismatch between the loaded class and the JDO metadata. On occasion when using your app you may get an exception on the interaction that causes the domain class(es) to reload. The changed class is only reloaded when you next interact with the app (the plugin writes the stderr, so you won't necessarily see a change immediately on compile). The enhancement of the domain class must be done by the IDE plugin. That means you can change Isis annotations, add or remove methods, refactor methods, even add or remove properties and relationships, and those changes will be picked up without having to stop and start the app. In general you can change any domain class (entity or service) and those changes will be reflected when you next interact with the app. You can a demo of the Isis and JRebel working together in this screencast.
The plugin is designed for Isis configured with the JDO (DataNucleus) objectstore, and either the Wicket viewer or the Restful Objects viewer. You do need to run Isis in prototype mode. By configuring it you can develop your Isis application without having to restart the app. This is a plugin for Apache Isis plugin for JRebel.