Blog

Brad Wood

April 18, 2019

Spread the word


Share your thoughts

We've released a new major version of our CommandBox FusionReactor module.  This module allows you to easily add FusionReactor to any server you start with no manual installation or fiddling with JVM args.

Usage

install commandbox-fusionreactor
fr register "myLicenseKey"
server start

Debug Libs

One of the most-requested features is for it to include the JVM args that load the debugger libraries.  This new version of the module will do that automatically for you now unless you set fusionreactor.debugEnable to false in your server.json.  The debugger libs unlock additional functionality such as the production debugger, event snapshots, and heap analysis.  

Automatic Updates

One of the next most-common requests we would receive was for us to update the module to use the latest version of FusionReactor-- something that used to be manual.  FusionReactor is now maintained on ForgeBox automatically as part of Integral's build process so you can use the newest FusionReactor versions right away with no waiting and no effort.  Just restarting your server will be enough to trigger a download of the latest version automatically.  You'll never be behind again.

Pinning A Custom Version

The reason this is a major release is because there is a small backwards incompatibility with the previous version of the module now based on the fact that it installs the FR jar and debug libs from ForgeBox.  The "version" and "downloadURL" settings have been removed in favor of a new consolidated setting called "installID" which currently defaults to the following value internally:

installID : "fusionreactor@^8.0.0"

You may recognize that is the same format as when you use the "install" command in CommandBox to install packages from ForgeBox.  That is because it is exactly what you are looking at!  "fusionreactor" is the name of the new package on ForgeBox and "^8.0.0" is a semantic version range that will automatically match the latest stable 8.x version.  

If you want to dial into a specific version and/or skip the ForgeBox check on startup, you can remove the caret and dial in your version like so:

server set fusionreactor.installID="fusionreactor@7.4.4"

You can review the published versions on ForgeBox to see what is available to you.  And as you may have guessed, the "installID" can be ANY VALID CommandBox endpoint, meaning you can point to a custom HTTP URL, ForgeBox package, etc using any installation mechanism supported by the "install" command.  So long as the installation ID points to a package with the FR jar and debug libs, you're good to go!

Upgrading the Module

If you have an older version of the module currently installed, you cannot use "update --system" since this is a major bump.  Instead, explicitly request the latest to be installed like so:

install commandbox-fusionreactor

If you were not using the version or downloadURL settings, then you don't need to do anything in order to use the latest version.  It will be a drop-in replacement. If you were using the "version" setting, then update your configs to use the new installID setting in the format "fusionreactor@version".  Please note, Integral does not support old releases and opted to not add all old versions to ForgeBox to check the listing to see what versions are available to you. If you were using the downloadURL setting, update your URL target to be a proper package zip file with a box.json, fusionreactor.jar, and the debugging libs and move the HTTP url into the installID setting.  

 

Add Your Comment

(1)

Apr 19, 2019 07:55:55 UTC

by Charlie Arehart

Sweet stuff. Thanks for the efforts, guys: you especially on commandbox and forgebox and this integration, of course, and Integral as well for whatever they did for linking to forgebox and supporting the auto update process.

Recent Entries

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

As we approach a stable release of BoxLang and our continued marketing reaches more folks, many have asked about its purpose. Why create a new language when the JVM ecosystem already includes established languages like Kotlin, Groovy, and Scala, to name a few.

Luis Majano
Luis Majano
December 18, 2024
ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox gives you the flexibility to create domain-specific routes, making it perfect for multi-tenant applications or projects that need to respond differently based on the domain or subdomain being accessed. In this tip, we’ll dive into how to use the withDomain() method to create routes that match specific domains or sub-domains.

Maria Jose Herrera
Maria Jose Herrera
December 18, 2024