JRuby, Rails, and Jetty – Where Are my Assets?

Recently, I was spinning up an extremely simple Rails 4 project, which was to serve as a portal to several other applications deployed on the same Jetty instance. This was not my first JRuby on Rails rodeo, so I was expecting a smooth deployment. When I deployed the WAR into a Jetty instance on my […]

Using OpenSAML from JRuby

We’ve had a lot of luck using JRuby on various different projects. One of the great advantages of JRuby is that you have the whole library of existing Java utilities at your disposal, plus all of the existing Ruby gems. I recently was able to integrate OpenSAML into a Ruby on Rails app. This was […]

Using Bundler with JRuby Complete

I am currently working on a project using JRuby for a server-side component. One of the team’s deployment goals has been to avoid relying on the production environment having JRuby installed in it (either globally or with RVM). Instead we have been using the jruby-complete.jar to bundle the entire JRuby runtime with our application. This […]

Experimenting with Clojure’s PersistentHashMap in JRuby

Over the last few months, I have written two blog posts that mention using Hamster (Efficient, Immutable, Thread-Safe Collection) classes in JRuby: Preventing JRuby Concurrency Errors with Hamster and Making Refs in Ruby Using Celluloid Actors. The latter post was commented on by Mike Busch he mentioned his evaluation of Hamster and comparing it to […]

Preventing JRuby Concurrency Errors with Hamster

I was recently working on a small proof-of-concept application with a back-end server written in JRuby. In this proof-of-concept, multiple clients connect to the server to poll for status changes and to request actions be performed as the result of user interactions. The quickest way to keep the server responsive was to just fire up […]

Be Aware of jruby.launch.inproc

Heads up for those not aware: it’s not hard to get burned when you’re executing other Ruby processes from within a JRuby process. Suppose you satisfy these conditions: You’re running a Ruby program via JRuby. Your program needs to execute another program via something like system or backticks. The command for the new program looks […]