JRebel Reference Manual

©ZeroTurnaround OÜ, Estonia, Tartu


Prev  Home
4. Server Configuration

5. Agent Configuration

5.1 Generic
5.2 Plugins

5.1 Generic

A configuration GUI is available in the Configuration Wizard and as standalone Agent Configuration util that you can run using bin/agent-settings.cmd or bin/agent-settings.sh:

JRebel can also be configured manually using the property file in $REBEL_HOME/conf/jrebel.properties, which can be overridden by Java system properties. A description of available properties follows.

rebel.packages=PACKAGE1,PACKAGE2,...
This should be set to a comma-separated list of Java packages. JRebel will then only reload classes in those packages and their subpackages. This is mainly used to restrict reloading to only a limited subset of classes, e.g. to improve performance.
rebel.packages_include=PACKAGE1,PACKAGE2,...
This should be set to a comma-separated list of Java packages. JRebel will also reload classes in those packages and their subpackages. This is mainly used to enable JAR file reloading. JRebel will reload classes that are not in the exclude packages and are in an include package. By default all .class classes will be reloaded.
For example rebel.packages_include=com.mycompany.mypackage,com.thirdparty.theirpackage.
rebel.packages_exclude=PACKAGE1,PACKAGE2,...
This should be set to a comma-separated list of Java packages. JRebel will not reload classes in those packages and their subpackages. This is mainly used to exclude classes that produce errors with JRebel reloading. JRebel will reload classes that are not in the exclude packages and are in an include package. By default all .class classes will be reloaded.
rebel.load_embedded_plugins=[true|false]
Controls whether embedded plugins are loaded. Set this to "false" if you're having troubles with embedded plugins.
rebel.plugins=jar1,jar2,jar3,...
Set this to absolute path of the plugin jars to load and enable them. This property overrides the embedded plugins that come with JRebel.
rebel.reload_bundles=[true|false]
Controls whether resource bundle monitoring and reloading is allowed. Set this to false if resource bundle reloading is causing problems.
rebel.stats=[true|false]
Controls whether redeploy statistics gathering and display is allowed. Set this to false if you want to disable it (note that statistics is collected locally).
rebel.usage_reporting=[true|false]
Controls whether anonymous usage reporting is allowed. Set this to false if you don't want to report anonymous usage statistics to ZeroTurnaround.
rebel.log=true
Enables debug logging to the jrebel.log file. Use when you are having some problems with the JRebel and you need to get more context.
rebel.log.perf=true
Enables additional logging of the performance statistics to the jrebel.log file. Requires JDK1.5+.
rebel.log.trace=true
Enables trace logging to the jrebel.log file. Generates a very detailed, but extremely big log.
rebel.log.stdout=false
Disables all JRebel output to standard output, e.g. the console.
rebel.log.file=FILENAME
Set to an absolute filename that JRebel should output log to.

5.2 Plugins

Although class reloading is extremely sexy and gives you a great productivity boost there is more that you can do. Reloading framework configuration or framework configured components means that you don’t have to redeploy when adding a new Spring bean or configuring a new Tapestry listener.

Official plugins are included in the JRebel JAR file (if not stated otherwise). You will need to enable them depending on which framework you are using. JRebel will print out the list of found plugins on application startup and instructions on how to enable those specific plugins. You can enable the plugins using a system property, in Configuration Wizard or in Agent Configuration:


Prev  Home
4. Server Configuration

JRebel Reference Manual, ©ZeroTurnaround OÜ, Estonia, Tartu