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

BoxLang 1.17 Series Part 3 : Encrypted Config Secrets

BoxLang 1.17 Series Part 3 : Encrypted Config Secrets

Everyone knows the datasource password should not be sitting in plain text in a config file. Everyone has also, at some point, shipped exactly that, because the alternative was a pile of environment variable plumbing that nobody wanted to build on a deadline. x

Luis Majano
Luis Majano
September 08, 2026
BoxLang AI 3.4 Blog Series Part 3 : Batched Approvals

BoxLang AI 3.4 Blog Series Part 3 : Batched Approvals

Here's a bug that's easy to miss until it bites someone in production: an agent turn asks for two tool calls at once, both need human approval, and only the first one actually suspends. The second one gets silently skipped. Not rejected, not queued, just gone. That's what happened before 3.4.0, and it's fixed now with batched tool-call approvals.

Luis Majano
Luis Majano
September 08, 2026
Getting Started with BoxLang as an Alternative CFML Engine

Getting Started with BoxLang as an Alternative CFML Engine

If you have an existing ColdFusion or Lucee application, one of the first questions you may have about BoxLang is probably not:

“Should I rewrite my application in BoxLang?”

It is much simpler:

“Can BoxLang run the CFML application I already have?”

That was the focus of veteran CFML troubleshooter Charlie Arehart’s session at Into the Box 2026, Getting Started with BoxLang as an Alternative CFML Engine.

Cristobal Escobar
Cristobal Escobar
September 08, 2026