The next beta release of TorqueBox 4 is out with some important bug fixes, including compatibility with the latest JRuby 9 releases. Please give 4.0.0.beta3 a try and create issues for any bugs you find. The betas have been out long enough that barring any major issues our next release will be 4.0.0
What is TorqueBox?
TorqueBox is a modular Ruby application server for JRuby that supports Rack-based web frameworks and provides Ruby interfaces to standard enterprisey services, including scheduled jobs, caching, and messaging. TorqueBox can be used as a standalone server or applications can be packaged into .war files and deployed onto the WildFly Java application server.
Changelog for TorqueBox 4.0.0.beta3
rackgem dependency of
torquebox-webwas loosened in preparation for Rack 2.0.
torquebox jarwas fixed to match based on a more natural
--exclude fooinstead of requiring a leading slash as in
--exclude /foo. The leading slash variant will continue to work as well.
Long-running monitored daemon support was added. When running in a WildFly cluster, the daemons can optionally be singletons (one instance running per cluster). See the API docs for
TorqueBox::Daemonfor more details.
env.each_pairon the Rack environment hash would sometimes only iterate over some of the hash. This is fixed so that it will iterate over the entire hash as expected.
Our performance-optimized RackEnvironmentHash implemention had a method override that was incompatible with JRuby 184.108.40.206. This has been removed and JRuby versions >= 220.127.116.11 should work again.
java -jar my_torquebox_app.jar -S ...default gems (json, rake, etc) may not have been found or even bundled inside the jar file correctly. Now they are.
The WunderBoss version was bumped to 0.12.1, bringing in newer versions of Infinispan, Undertow, and several other of the underlying libraries. This also allows us to support running inside WildFly 10.0.0.Final.
Integration tests are now run against WildFly 9.0.1.Final and WildFly 10.0.0.Final.
Empty 304 responses sent from a Ruby application were ending up with a
Transfer-Encoding: chunkedheader added and could result in the request hanging for some clients. This was fixed with the WunderBoss upgrade that brought in a newer Undertow version.
Repeated executions of
torquebox warwill no longer cause the generated archive to continually grow in size. We were accidentally including the existing archive inside the new archive every time the command was run.
Getting started with TorqueBox 4
The best resource for getting started with TorqueBox 4, including attempting to migrate applications from TorqueBox 3, is our documentation.
Don't be a stranger!
As always, if you have any questions about or issues with TorqueBox, please get in touch.