我在Netbeans 7.1.1 IDE中運行grails 1.3.9應用程序,並且希望減少會話超時以進行測試。我的問題是我無法在NetBeansProjects或NetBeans文件夾下找到server.xml文件。它位於其他地方嗎?或者它的命名有所不同?更改NetBeans嵌入式grails的會話超時
謝謝
我在Netbeans 7.1.1 IDE中運行grails 1.3.9應用程序,並且希望減少會話超時以進行測試。我的問題是我無法在NetBeansProjects或NetBeans文件夾下找到server.xml文件。它位於其他地方嗎?或者它的命名有所不同?更改NetBeans嵌入式grails的會話超時
謝謝
會話超時在web.xml中處理。你需要運行grails install-templates,它會給你一個你可以操作的web.xml。請參閱docs here。
你會添加到您的web.xml
<session-config>
<session-timeout>120</session-timeout>
</session-config>
您也可以在「/腳本」目錄Groovy腳本「_Events.groovy」修改web.xml文件的版本。您可以使用'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)
}
}
感謝您的回覆。但這會影響「生產」戰爭,我希望那個人始終擁有服務器的默認超時時間。我需要的僅僅是我在測試環境中運行的一個短暫超時(並且我不想通過每次生成戰爭時更改文件的超時時間來對其進行微操作)。 – xain