Запуск Ruby-скриптов под JRuby / Rack, как если бы они были CGIS
Вопрос
Есть ли способ сопоставить файлы * .rb, которые будут выполняться в JRuby, с выводом, отправляемым в браузер, как CGI?По сути, я ищу сервлет JRuby CGI.
В идеале, я хотел бы определить сервлет JRuby в web.xml, а затем иметь возможность помещать файлы *.rb в WEB-INF / ruby и иметь возможность вызывать их через http://servername/contextname/rubyprogram.rb и передайте данные в программу ruby либо с помощью записи формы, либо как часть URL-адреса.
Редактировать:Я провел дополнительные исследования и нашел как проект Sun Phobos (который объединяет всю установку Ruby в файл WAR), так и JRuby RACK.
Кто-нибудь смог настроить легкую и простую установку стойки, которая делает это?Кто-нибудь знает пример конфигурации, которая позволила бы мне это сделать?
Решение
Вам следует проверить Славка.Это драгоценный камень, который позволяет вам упаковать приложение Ruby в виде файла WAR и запустить его в контейнере сервлета (с небольшой помощью JRuby-Стойка).
Вам также следует взглянуть на Стеклянная Рыба gem, который содержит урезанную версию сервера приложений Glassfish, позволяющую легко загрузить приложение, совместимое со стойкой, и запустить его в JRuby.
Здесь есть скринкаст о том, как запустить приложение JRuby в Glassfish: http://netbeans.tv/technologies/First-JRuby-app-in-GlassFish-86/
Здесь можно найти массу других ресурсов:http://kenai.com/projects/jruby/pages/WalkthroughsAndTutorials
Другие советы
Я не очень хорошо знаком с J2EE, но вы могли бы написать свой собственный Java-сервлет, который принимает имя Ruby-скрипта в качестве параметра и выполняет его, используя JRuby в качестве библиотеки.
На сайте JRuby есть примеры того, как запустить Ruby-скрипт из Java-программы.