0

grailsrun-warを使用して実行している2.1.1grailsアプリがあります。それはうまく機能し、かなりの時間実行されますが、12〜24時間後に停止します。失敗したときにアプリを観察することはありません。いつも「悪い」とだけ言う

$ grails run-war 
| Done creating WAR target/web-0.1.war
| Running Grails application
Tomcat Server running WAR (output written to: target/tomcat-out.txt)
| Server running. Browse to http://localhost:8090/web
bad
$

最後の3つの失敗のうち2つが、出力ファイルにこれを生成しました。

2012-10-10 10:22:46,684 [localhost-startStop-2] ERROR loader.WebappClassLoader  - The web application [/web] appears to have started a thread named [Poller SunPKCS11-Darwin] but has failed to stop it. This is very likely to create a memory leak.
2012-10-10 10:22:46,694 [localhost-startStop-2] ERROR loader.WebappClassLoader  - The web application [/web] appears to have started a thread named [MongoCleaner1292971653] but has failed to stop it. This is very likely to create a memory leak.

ただし、ほとんどの場合、ログファイルには何もありません。

これは、誰もWebアプリを使用していない場合、つまりアイドル状態の場合でも発生します。使用中のプラグインは次のとおりです。

    runtime ":mongodb:1.0.0.GA"
    runtime ":jquery:1.7.2"
    compile ":jquery-ui:1.8.15"
    runtime ":resources:1.2-RC1"

    // Uncomment these (or add new ones) to enable additional resources capabilities
    //runtime ":zipped-resources:1.0"
    //runtime ":cached-resources:1.0"
    //runtime ":yui-minify-resources:0.1.4"

    build ":tomcat:$grailsVersion"

grails 2.0.4を使用すると、この同じアプリが何週間も失敗することなく実行されました。唯一の変更は、grails2.1.1へのアップグレードです。

何かご意見は?

ありがとう

編集:DataSource.groovyを含める

dataSource {
    pooled = true
    driverClassName = "org.h2.Driver"
    username = "sa"
    password = ""
}
hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = true
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
    development {
        dataSource {
            dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''
            url = "jdbc:h2:mem:devDb;MVCC=TRUE"
        }
    }
    test {
        dataSource {
            dbCreate = "update"
            url = "jdbc:h2:mem:testDb;MVCC=TRUE"
        }
    }
    production {
        dataSource {
            dbCreate = "update"
            url = "jdbc:h2:prodDb;MVCC=TRUE"
            pooled = true
            properties {
               maxActive = -1
               minEvictableIdleTimeMillis=1800000
               timeBetweenEvictionRunsMillis=1800000
               numTestsPerEvictionRun=3
               testOnBorrow=true
               testWhileIdle=true
               testOnReturn=true
               validationQuery="SELECT 1"
            }
        }
    }
}

次に、各モデルで、

class Album {
static mapWith = "mongo"

これは、Grailsをアップグレードするたびに、アンインストールを続けても休止状態のプラグインが自動的に再インストールされるため、Mongoを使用するために行います。

ありがとう

4

0 に答える 0