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.