2012-02-24 1 views
0

Я пытаюсь развернуть приложение Rails 3.2 на JBOSS AS 7.1, используя JRuby 1.6.6.JBoss, удаляющий тело ответа HTTP-ответа, когда статус HTTP не равен 200

Когда контроллер Rails устанавливает код состояния для заголовка HTTP-ответа на что-либо, кроме 200, весь текст из тела ответа удаляется - по-видимому, JBoss. Проблема не возникает в WebBrick.

Вот немного кода для иллюстрации:

def show 
    # The text below is never displayed when app deployed under JBoss 
    render :text => "Hello user, send a better id next time", :status => :not_found 
end 

Любая идея, почему JBoss может быть еда тело сообщения для ответа?

Если он пытается оптимизировать, что кажется нарушением (по крайней мере, духа) спецификации HTTP, в которой говорится, что 404 пакета могут содержать тела сообщений.

Правильное задание состояния полезно для автоматизации тестирования, среди прочего.

+0

Какая версия JRuby-стойки вы используете? – Luke

+0

jruby-rack (1.1.4) –

+0

hey alex, я пробовал это, и он работал как ожидалось ... развернул рельсы 3.0.10 войну с jboss 7.1 (загрузился как bin/standalone), я вижу ошибку как ожидалось, возможно, что-то о вашем профиле jboss или у вас есть шаблон web.xml, настроенный и/или jboss-web.xml? – kares

ответ

0

Я не уверен, является ли это решением или просто совпадением, но я увеличил размер кучи и память PermGen, установив JAVAOPTS, после чего эта проблема исчезла.

переключатели, которые работали, были:

JAVA_OPTS = -Xms512m -Xmx1024m -XX: PermSize = 128m -XX: MaxPermSize = 256m