2013-12-13 7 views
0

Кто-нибудь достиг горячего развертывания библиотек Java (или даже скомпилированных классов Java) при использовании Trinidad?Перезагрузка jars из каталога lib при использовании Trinidad (JRuby и RoR 3)

Приложение My Rails работает на Trinidad и зависит от Java-сервера, который упакован как много банок под номером my-rails/lib/java. Когда один из этих банок изменяется, сервер Trinidad не перезагружает его. touch tmp/restart.txt только перезагружает контекст приложения.

Обратите внимание, что мой вопрос не связан с config.autoload_paths, поскольку, насколько мне известно, эта опция используется только для перезагрузки файлов Ruby.


ОБНОВЛЕНО
мне не удалось добиться горячего развертывания своих зависимостей ява и сдалась. Единственная помощь для меня были модульные тесты, которые я запускал локально каждый раз, чтобы проверить мой код.

ответ

1

Я думаю, что если .jar не будет перезагружен, это, вероятно, ошибка Trinidad (так как во время контекстной перезагрузки банки должны быть повторно добавлены - если Tomcat делает это по умолчанию - я не уверен) ... будет отлично знать подробности (в трекере Тринидада), например если в банке указано то же самое, как выглядит конфигурация (если она есть).

Другой вариант - опробовать скользящий перезапуск, так как создается новый контекст - таким образом, он должен забрать все, от чего зависит контекст от файловой системы.

Обратите внимание, что при перезагрузке в файле изменений, таких как изменение файла .jar, даже если он может работать с Tomcat, в Trinidad специально отключен - вам необходимо «явно» (коснуться ...), чтобы запросить перезапуск.

+0

Спасибо за ваше время, но я написал, что явный 'touch tmp/restart.txt' не помог. –

+1

В основном я предлагал попробовать перепрограммировать перезапуск вместо стандартного 'reload_strategy:' ..., который до сих пор неясен, был ли опробован. В любом случае, вы должны сообщить об этом, если у вас также есть простое приложение для воспроизведения, которое было бы действительно полезно. СПАСИБО – kares