2012-06-29 53 views
1

我在Netbeans 7.1.1 IDE中運行grails 1.3.9應用程序,並且希望減少會話超時以進行測試。我的問題是我無法在NetBeansProjects或NetBeans文件夾下找到server.xml文件。它位於其他地方嗎?或者它的命名有所不同?更改NetBeans嵌入式grails的會話超時

謝謝

回答

0

會話超時在web.xml中處理。你需要運行grails install-templates,它會給你一個你可以操作的web.xml。請參閱docs here

你會添加到您的web.xml

<session-config> 
    <session-timeout>120</session-timeout> 
</session-config> 
+0

感謝您的回覆。但這會影響「生產」戰爭,我希望那個人始終擁有服務器的默認超時時間。我需要的僅僅是我在測試環境中運行的一個短暫超時(並且我不想通過每次生成戰爭時更改文件的超時時間來對其進行微操作)。 – xain

1

您也可以在「/腳本」目錄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) 

    } 
} 
+0

這是否需要先運行install-template命令?謝謝。 – xain

+0

我編輯了我的答案。最後一部分丟失了..不,這個解決方案不需要安裝模板... – peddn

+0

應用程序啓動,但是一旦我添加了腳本,tomcat就無法識別它的上下文根。 – xain