Error deploying Grails-Anwendung - Anfänger

Bin ich Probleme bei der Bereitstellung einer Grails-Anwendung. Alles funktioniert in der lokalen Testumgebung.

FEHLER

[localhost-startStop-1] FEHLER-Kontext.GrailsContextLoader - Fehler
initialisieren der Anwendung: Fehler beim erstellen bean mit dem Namen
'transactionManagerPostProcessor': Initialisierung der bean fehlgeschlagen;
verschachtelte Ausnahme ist
org.springframework.Bohnen.factory.BeanCreationException: Fehler
erstellen bean mit dem Namen 'transactionManager': Cannot resolve Referenz
zu Bohne 'sessionFactory' während der Einstellung von bean-Eigenschaft 'sessionFactory';
verschachtelte Ausnahme ist
org.springframework.Bohnen.factory.BeanCreationException: Fehler
erstellen bean mit dem Namen 'sessionFactory': Cannot resolve Referenz zu
bean 'hibernateProperties' während der Einstellung von bean-Eigenschaft
'hibernateProperties'; verschachtelte Ausnahme ist
org.springframework.Bohnen.factory.BeanCreationException: Fehler
erstellen bean mit dem Namen 'hibernateProperties': Cannot resolve
Referenz auf bean 'dialectDetector' während der Einstellung von bean-Eigenschaft
'Eigenschaften' mit der Taste [hibernate.Dialekt]; verschachtelte Ausnahme ist
org.springframework.Bohnen.factory.BeanCreationException: Fehler
erstellen bean mit dem Namen 'dialectDetector': Aufruf der init-Methode
failed; nested exception
org.springframework.jdbc.Unterstützung.MetaDataAccessException: Fehler beim
extrahieren von DatabaseMetaData; verschachtelte Ausnahme ist
org.apache.Unterhaus.dbcp.SQLNestedException: kann Nicht erstellen
PoolableConnectionFactory (E /a-Ausnahme:
"java.io.FileNotFoundException: /var/lib/tomcat7/prodDb.lock.db
(Permission denied)"; "/var/lib/tomcat7/prodDb.lock.db" [90031-164])
org.springframework.Bohnen.factory.BeanCreationException: Fehler
erstellen bean mit dem Namen 'transactionManagerPostProcessor':
Initialisierung der bean-failed; nested exception
org.springframework.Bohnen.factory.BeanCreationException: Fehler
erstellen bean mit dem Namen 'transactionManager': Cannot resolve Referenz
zu Bohne 'sessionFactory' während der Einstellung von bean-Eigenschaft 'sessionFactory';
verschachtelte Ausnahme ist
org.springframework.Bohnen.factory.BeanCreationException: Fehler
erstellen bean mit dem Namen 'sessionFactory': Cannot resolve Referenz zu
bean 'hibernateProperties' während der Einstellung von bean-Eigenschaft
'hibernateProperties'; verschachtelte Ausnahme ist
org.springframework.Bohnen.factory.BeanCreationException: Fehler
erstellen bean mit dem Namen 'hibernateProperties': Cannot resolve
Referenz auf bean 'dialectDetector' während der Einstellung von bean-Eigenschaft
'Eigenschaften' mit der Taste [hibernate.Dialekt]; verschachtelte Ausnahme ist
org.springframework.Bohnen.factory.BeanCreationException: Fehler
erstellen bean mit dem Namen 'dialectDetector': Aufruf der init-Methode
failed; nested exception
org.springframework.jdbc.Unterstützung.MetaDataAccessException: Fehler beim
extrahieren von DatabaseMetaData; verschachtelte Ausnahme ist
org.apache.Unterhaus.dbcp.SQLNestedException: kann Nicht erstellen
PoolableConnectionFactory (E /a-Ausnahme:
"java.io.FileNotFoundException: /var/lib/tomcat7/prodDb.lock.db
(Permission denied)"; "/var/lib/tomcat7/prodDb.lock.db" [90031-164])
bei
java.util.gleichzeitige.Vollzieher$RunnableAdapter.call(Vollzieher.java:471)
bei java.util.gleichzeitige.FutureTask.run(FutureTask.java:262) at
java.util.gleichzeitige.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
bei
java.util.gleichzeitige.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
bei java.lang.Thread.run(Thread.java:744)

BUILD-CONFIG-DATEI :

//locations to search for config files that get merged into the main config;
//config files can be ConfigSlurper scripts, Java properties files, or classes
//in the classpath in ConfigSlurper format

//grails.config.locations = [ "classpath:${appName}-config.properties",
//                            "classpath:${appName}-config.groovy",
//                            "file:${userHome}/.grails/${appName}-config.properties",
//                            "file:${userHome}/.grails/${appName}-config.groovy"]

//if (System.properties["${appName}.config.location"]) {
//   grails.config.locations << "file:" + System.properties["${appName}.config.location"]
//}

grails.project.groupId = appName //change this to alter the default package name and Maven publishing destination
grails.mime.file.extensions = true //enables the parsing of file extensions from URLs into the request format
grails.mime.use.accept.header = false
grails.mime.types = [
    all:           '*/*',
    atom:          'application/atom+xml',
    css:           'text/css',
    csv:           'text/csv',
    form:          'application/x-www-form-urlencoded',
    html:          ['text/html','application/xhtml+xml'],
    js:            'text/javascript',
    json:          ['application/json', 'text/json'],
    multipartForm: 'multipart/form-data',
    rss:           'application/rss+xml',
    text:          'text/plain',
    xml:           ['text/xml', 'application/xml']
]

//URL Mapping Cache Max Size, defaults to 5000
//grails.urlmapping.cache.maxsize = 1000

//What URL patterns should be processed by the resources plugin
grails.resources.adhoc.patterns = ['/images/*', '/css/*', '/js/*', '/plugins/*']

//The default codec used to encode data with ${}
grails.views.default.codec = "none" //none, html, base64
grails.views.gsp.encoding = "UTF-8"
grails.converters.encoding = "UTF-8"
//enable Sitemesh preprocessing of GSP pages
grails.views.gsp.sitemesh.preprocess = true
//scaffolding templates configuration
grails.scaffolding.templates.domainSuffix = 'Instance'

//Set to false to use the new Grails 1.2 JSONBuilder in the render method
grails.json.legacy.builder = false
//enabled native2ascii conversion of i18n properties files
grails.enable.native2ascii = true
//packages to include in Spring bean scanning
grails.spring.bean.packages = []
//whether to disable processing of multi part requests
grails.web.disable.multipart=false

//request parameters to mask when logging exceptions
grails.exceptionresolver.params.exclude = ['password']

//configure auto-caching of queries by default (if false you can cache individual queries with 'cache: true')
grails.hibernate.cache.queries = false

environments {
    development {
        grails.logging.jul.usebridge = true
    }
    production {
        grails.logging.jul.usebridge = true
        grails.serverURL = "http://100.117.40.30:8080/MyApp"
    }
}

//log4j configuration
log4j = {
    //Example of changing the log pattern for the default console appender:
    //
    //appenders {
    //   console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
    //}

    error  'org.codehaus.groovy.grails.web.servlet',        //controllers
           'org.codehaus.groovy.grails.web.pages',          //GSP
           'org.codehaus.groovy.grails.web.sitemesh',       //layouts
           'org.codehaus.groovy.grails.web.mapping.filter', //URL mapping
           'org.codehaus.groovy.grails.web.mapping',        //URL mapping
           'org.codehaus.groovy.grails.commons',            //core /classloading
           'org.codehaus.groovy.grails.plugins',            //plugins
           'org.codehaus.groovy.grails.orm.hibernate',      //hibernate integration
           'org.springframework',
           'org.hibernate',
           'net.sf.ehcache.hibernate'
}

UPDATE

DATASOURCE.GROVVY

dataSource {
    pooled = true
    driverClassName = "org.h2.Driver"
    username = "sa"
    password = ""
}
hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = false
    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;LOCK_TIMEOUT=10000"
        }
    }
    test {
        dataSource {
            dbCreate = "update"
            url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
        }
    }
    production {
        dataSource {
            dbCreate = "update"
            url = "jdbc:h2:prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
            pooled = true
            properties {
               maxActive = -1
               minEvictableIdleTimeMillis=1800000
               timeBetweenEvictionRunsMillis=1800000
               numTestsPerEvictionRun=3
               testOnBorrow=true
               testWhileIdle=true
               testOnReturn=true
               validationQuery="SELECT 1"
            }
        }
    }
}
  • Sie sollte eigentlich teilen Sie Ihre DataSource.groovy. Sieht aus wie es ein Berechtigungsproblem beim Zugriff eine Datei (oder file-db) /var/lib/tomcat7/prodDb.lock.db.
  • Ich habe aktualisiert die post mit DataSource.groovy
  • Ja die app ist auf der Suche nach einer h2-DB namens prodDb. Ersetzen Sie den Abschnitt unter Produktionsumgebung mit einem realen DB haben Sie im prod oder mit einer Datenquelle oder einer JNDI-Namen.
  • Btw, wenn Sie nicht bewusst, es noch nicht, aber Sie verwenden können, grails run-app im dev-Modus statt, die die Bereitstellung der app jedes mal. Lauf-app verwendet einen embedded Tomcat auf port 8080 standardmäßig.
  • Ich will nicht eine DB in der ich mich für den moment. Ist es möglich für mich zu verlassen, die leere ?
  • Ich bin die Bereitstellung der app in einem remote-server, so dass ich muss eine war-Datei und installieren Sie es. Die Anwendung nicht über eine DB noch nicht. Aber ich will es bereitstellen, in dem remote-server.
  • Ja, Sie können entfernen Sie alles unter production { dataSource { .. } } für die Zeit.
  • Das sortiert es. Ich konnte markieren Sie die Frage als richtig, wenn die Lösung wurde eingereicht, als Antwort. Danke Belastungen.

InformationsquelleAutor Illep | 2014-05-15
Schreibe einen Kommentar