Изменить тайм-аут сеанса для встроенных в netbeans grails

Я запускаю приложение Grails 1.3.9 в среде IDE Netbeans 7.1.1 и хочу уменьшить время ожидания сеанса в целях тестирования. Моя проблема в том, что я не могу найти файл server.xml ни в папках NetBeansProjects, ни в папках NetBeans. Он находится в другом месте или по-другому называется?

Спасибо


person xain    schedule 29.06.2012    source источник


Ответы (2)


Вы также можете изменить сборку файла web.xml с помощью groovy-скрипта _Events.groovy в каталоге '/script'. Вы можете использовать событие eventWebXmlEnd, чтобы добавить свою конфигурацию:

import grails.util.Environment
import groovy.xml.StreamingMarkupBuilder

eventWebXmlEnd = { String tmpfile ->

    def root = new XmlSlurper().parse(webXmlFile)

    if(Environment.getCurrent() == 'TEST' ) {

        root.appendNode {

             'session-config' { 'session-timeout' (120) }

        }
    }

    webXmlFile.text = new StreamingMarkupBuilder().bind {

        mkp.declareNamespace("": "http://java.sun.com/xml/ns/javaee")

        mkp.yield(root)

    }
}
person peddn    schedule 29.06.2012
comment
И требуется ли для этого предварительно запускать команду install-template? Спасибо. - person xain; 29.06.2012
comment
Я отредактировал свой ответ. Последняя часть отсутствовала. Нет, это решение не требует установки шаблонов... - person peddn; 29.06.2012
comment
Приложение запускается, но tomcat не распознает его корень контекста после того, как я добавил скрипт. - person xain; 29.06.2012

Время ожидания сеанса обрабатывается в файле web.xml. Вам нужно запустить шаблоны установки grails, которые дадут вам файл web.xml, которым вы сможете манипулировать. См. документы здесь.

Вы бы добавили это в свой web.xml

<session-config>
  <session-timeout>120</session-timeout>
</session-config>
person Gregg    schedule 29.06.2012
comment
Спасибо за ответ. Но это повлияет на производственную войну, я хочу, чтобы у этого сервера всегда был тайм-аут по умолчанию. Мне нужен только тот, который я запускаю в своей тестовой среде, чтобы иметь короткий тайм-аут (и я не хочу микроуправлять им, изменяя тайм-аут файла каждый раз, когда я генерирую войну). - person xain; 29.06.2012