JRebel remote server support in JDeveloper IDE

Note

As of JRebel for JDeveloper 2018.2.5, remote server support is available as an experimental feature. We are eager to receive any feedback and thoughts - please send them to support-rebel@perforce.com.

What is it?

JRebel remote server support will enable instant code reloading for setups where your IDE and application server are running on different machines. Typical scenarios are that your application server is running remotely on a network server, on a local virtual machine, or in Docker.

The JRebel IDE plugin will send your changes over the network to the remote server running your application (we call this the remote synchronization). The IDE plugin will keep track of your workspace state and always send just the latest changes. This avoids having to repackage and re-upload the entire application after every change. The JRebel Agent running on the remote application server will then update your application with the latest changes, skipping the redeploy.

This chapter lists the steps required to set up JRebel remote server support for JDeveloper. You need a working, activated JRebel installation in your IDE. Please follow the instructions on how to install and configure JRebel for JDeveloper. If you have already set up JRebel, move on to step 1.


1. Enable JRebel remote server support on the server

Running JRebel on a remote server requires the JRebel agent and a special launch parameter. Follow these steps to do this.

  1. Download the standalone JRebel archive and extract its contents. Upload the contents to the remote server and make a note of their location.

  2. Add -agentpath:[/path/to/]JRebel library attribute to the server startup parameters. Select the correct JRebel library based on the remote server operating system and architecture (read more here). This guarantees that JRebel is started with the server.

  3. Add the -Drebel.remoting_plugin=true attribute to the server startup parameters.

Here is an example of a server startup script with both JRebel (Windows 64-bit) and remote server feature enabled:

-agentpath:[/path/to/]libjrebel64.dll -Drebel.remoting_plugin=true

2. Configure projects for remote server support

You will now need to provide the URL of your server to your IDE. You can do this under Project Properties.

../_images/jdev-project-props.png

Once you enable remote server support, a rebel-remote.xml file will be added to your project. You will now need to build and deploy your application to the remote server, making sure that this generated file is also included in the artifact.


3. Synchronize with the server

You can now synchronize your changes with the remote server by clicking the Synchronize button on the main toolbar.

../_images/jdev-sync-btn.png