Deploying exploded JRuby wars on tomcat?

Anybody had success with this approach?

TL;DR: I want to push out an ‘exploded’ JRuby-enabled webapp/context
to a Tomcat (6), and am just wondering what the performance etc.
tradeoffs
are vs. a plain WAR based deploy.

background: I’m going to deploy graylog2-web-interface as a JRuby
app to tomcat6 (this works well by the way I’ve done it before).

parts of the functionality of graylog2 is configuring ‘streams’ you can
subscribe to. Stream subscriptions get processed by a rake task run from
cron.

[NB: torquebox might be a better fit for this longer term but I need
something
up and running pretty quickly and I know tomcats quirks fairly well].

so my plan is to run the rake tasks via cron+jruby. I’ve found a way to
do this
against the unpacked WAR
(
http://blog.jonbettcher.com/2010/11/invoking-console-from-deployed-jruby.html?m=1
)
but I’m managing this whole stack with Puppet, and it’s easier to edit
an exploded WAR
than ensure the various settings in the WAR tally up with the rest of
the stack
(elasticsearch, mongo, etc.).

So I’m thinking: warble up the graylog app, expand that on the puppet
server,
template the various config files and push the whole thing down to the
tomcat server
configured to autoload changes in the appropriate context.

Anyone else doing this or something similar? Cheers.

On Tue, Mar 13, 2012 at 7:49 AM, Dick D.
[email protected] wrote:

TL;DR: I want to push out an ‘exploded’ JRuby-enabled webapp/context
to a Tomcat (6), and am just wondering what the performance etc. tradeoffs
are vs. a plain WAR based deploy.

Anyone else doing this or something similar? Cheers.

No experience with Puppet so this may not be relevant, but –

I use Capistrano to deploy a normal Rails layout to a Glassfish
server, with an added task that builds the WAR file from that and
then deploys it via the normal GF asadmin commands.

Works fine and gives me console, rake, script/runner capabilities.

FWIW,

Hassan S. ------------------------ [email protected]

twitter: @hassan

that’s coming at it from the other direction, but good idea, thanks!
gives me the flexibility to tweak individual files with Puppet (and spin
a new WAR if needed), but tomcat only has to watch for a single WAR to
autodeploy.

are you running Glassfish with its built-in JRuby support? tomcat needs
the JRuby runtime to be in the WAR, so it’ll need a bit of extra work
but that’s ok.