IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Grails Java Discussion :

Erreur "LockException dialect"


Sujet :

Grails Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Erreur "LockException dialect"
    je fait import de projet "grails.org" a partir de svn de grails et je installe tous les plugins nécessaire mais lorsque je run l'application l' exception "liquibase.exception.LockException" apparaitre.
    dans le console s' affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Error 2012-12-13 11:58:23,946 [pool-6-thread-1] ERROR context.GrailsContextLoader  - Error executing bootstraps: liquibase.exception.LockException: groovy.lang.MissingPropertyException: No such property: dialect for class: liquibase.database.core.MySQLDatabase
    Message: liquibase.exception.LockException: groovy.lang.MissingPropertyException: No such property: dialect for class: liquibase.database.core.MySQLDatabase
       Line | Method
    ->> 303 | innerRun in java.util.concurrent.FutureTask$Sync
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    |   138 | run      in java.util.concurrent.FutureTask
    |   885 | runTask  in java.util.concurrent.ThreadPoolExecutor$Worker
    |   907 | run      in     ''
    ^   619 | run . .  in java.lang.Thread
    Caused by LockException: groovy.lang.MissingPropertyException: No such property: dialect for class: liquibase.database.core.MySQLDatabase
    ->> 121 | acquireLock in liquibase.lockservice.LockService
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    |    61 | waitForLock in     ''
    |    63 | update . in liquibase.LiquibaseDsl
    |    43 | migrate  in autobase.Autobase
    |   103 | doCall . in AutobaseGrailsPlugin$__clinit__closure9
    |   114 | doCall   in AutobaseGrailsPlugin$_closure2
    |   303 | innerRun in java.util.concurrent.FutureTask$Sync
    |   138 | run      in java.util.concurrent.FutureTask
    |   885 | runTask  in java.util.concurrent.ThreadPoolExecutor$Worker
    |   907 | run      in     ''
    ^   619 | run . .  in java.lang.Thread
    Caused by MissingPropertyException: No such property: dialect for class: liquibase.database.core.MySQLDatabase
    ->>  51 | updateSql in grails.plugin.databasemigration.MysqlAwareCreateTableGenerator
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    |    44 | generateSql in     ''
    |    30 | generateSql in liquibase.sqlgenerator.SqlGeneratorChain
    |   150 | generateSql in liquibase.sqlgenerator.SqlGeneratorFactory
    |    38 | generateSql in liquibase.sqlgenerator.core.CreateDatabaseChangeLogLockTableGenerator
    |    19 | generateSql in     ''
    |    30 | generateSql in liquibase.sqlgenerator.SqlGeneratorChain
    |   150 | generateSql in liquibase.sqlgenerator.SqlGeneratorFactory
    |    22 | applyVisitors in liquibase.executor.AbstractExecutor
    |    36 | access$000 in liquibase.executor.jvm.JdbcExecutor
    |    82 | doInStatement in liquibase.executor.jvm.JdbcExecutor$1ExecuteStatementCallback
    |    55 | execute  in liquibase.executor.jvm.JdbcExecutor
    |   104 | execute  in     ''
    |    70 | execute  in     ''
    |   571 | checkDatabaseChangeLogLockTable in liquibase.database.AbstractDatabase
    |    94 | acquireLock in liquibase.lockservice.LockService
    |    61 | waitForLock in     ''
    |    63 | update   in liquibase.LiquibaseDsl
    |    43 | migrate  in autobase.Autobase
    |   103 | doCall   in AutobaseGrailsPlugin$__clinit__closure9
    |   114 | doCall . in AutobaseGrailsPlugin$_closure2
    |   303 | innerRun in java.util.concurrent.FutureTask$Sync
    |   138 | run . .  in java.util.concurrent.FutureTask
    |   885 | runTask  in java.util.concurrent.ThreadPoolExecutor$Worker
    |   907 | run . .  in     ''
    ^   619 | run      in java.lang.Thread
    merci d'avance

  2. #2
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Ton problème vient plutôt de MySQL que du Lock en lui même

    "missing dialect MySQL".

    As-tu bien le .jar de mysql dans les dépendences de ton projet ?
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    merci fxrobin pour votre réponse
    oui j'ai le driver mysql .jar dans mon dossier lib de mon projet.

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 218
    Points : 310
    Points
    310
    Par défaut
    Il faut que tu ajoutes le dialect MySQL dans conf/Datasource.groovy.
    Exemple pour postgres, recherche l'équivalent pour MySQL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    development {
    dataSource {
    dialect = 'org.hibernate.dialect.PostgreSQLDialect'
    ...

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par macumba Voir le message
    Il faut que tu ajoutes le dialect MySQL dans conf/Datasource.groovy.
    Exemple pour postgres, recherche l'équivalent pour MySQL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    development {
    dataSource {
    dialect = 'org.hibernate.dialect.PostgreSQLDialect'
    ...
    merci pour votre réponse macumba
    je déjà mis cette ligne de dialect dans mon fichier datasource et j'ai testé avec différent dialect mysql (MySQLInnoDBDialect,MySQL5InnoDBDialect,...) mais toujours la même exception.

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 218
    Points : 310
    Points
    310
    Par défaut
    Sinon pour le dialect, je l'ai également au niveau de hibernate :
    hibernate {
    ...
    dialect = 'org.hibernate.dialect.PostgreSQLDialect'
    }

    Si ca ne marche pas tu pourrais poster ton datasource.groovy svp.
    Histoire de voir si je vois qqchose d'autre...

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par macumba Voir le message
    Sinon pour le dialect, je l'ai également au niveau de hibernate :
    hibernate {
    ...
    dialect = 'org.hibernate.dialect.PostgreSQLDialect'
    }
    j'ajoute le ce ligne de code mais toujours la même problème .
    Citation Envoyé par macumba Voir le message
    Si ca ne marche pas tu pourrais poster ton datasource.groovy svp.
    Histoire de voir si je vois qqchose d'autre...
    voila mon fichier datasource

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    dataSource {
    	pooled = false
    	driverClassName = "com.mysql.jdbc.Driver"			
    	url = "jdbc:mysql://localhost:3306/grails"
    	username = "root"
    	password = "admin"
    //	logSql=true
    }
    hibernate {
        cache.use_second_level_cache=true
        cache.use_query_cache=true
        cache.provider_class='net.sf.ehcache.hibernate.EhCacheProvider'
     
    }
    // environment specific settings
    environments {
    	development {
    		dataSource {
    			dialect = 'org.hibernate.dialect.MySQL5InnoDBDialect'
    			dbCreate = "update" // one of 'create', 'create-drop','update'
    		}
    	}
    	test {
    		dataSource {
    			//dbCreate = "create-drop"
    			url = "jdbc:hsqldb:mem:testDb"
                driverClassName = "org.hsqldb.jdbcDriver"
                username = "root"
                password = "admin"
            }
    	}
    	production {
    		dataSource {
    			//dbCreate = "update"
    		}
    	}
    }

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 218
    Points : 310
    Points
    310
    Par défaut
    Je vois pas trop comme ca, à part pooled qui devrait être à vrai sans variable JNDI mais ca ne dervait pas faire ce pb.

    Essaie ptet MySQLDialect comme dialect sinon.

    A moins que tu n'es pas générer ta première incrémentale avec le plugin migration.
    http://grails-plugins.github.com/gra...ual/index.html

    Je ne sais pas quel pb ca fait dans ce cas là. essaie au cas où en ligne de commande :
    dbm-generate-changelog changelog.groovy et vérifie que tu as un répertoire migration dans grails-app

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par macumba Voir le message
    Je vois pas trop comme ca, à part pooled qui devrait être à vrai sans variable JNDI mais ca ne dervait pas faire ce pb.

    Essaie ptet MySQLDialect comme dialect sinon.

    A moins que tu n'es pas générer ta première incrémentale avec le plugin migration.
    http://grails-plugins.github.com/gra...ual/index.html

    Je ne sais pas quel pb ca fait dans ce cas là. essaie au cas où en ligne de commande :
    dbm-generate-changelog changelog.groovy et vérifie que tu as un répertoire migration dans grails-app
    j'essaye pour la ligne de commande dbm-generate-changelog changelog.groovy mais j'ai cette exception :
    Error Error executing script DbmGenerateChangelog: liquibase.exception.LockException: groovy.lang.MissingPropertyException: No such property: dialect for class: liquibase.database.core.MySQLDatabase

  10. #10
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 218
    Points : 310
    Points
    310
    Par défaut
    Oui be...

    Dernière chance après j'ai plus d'idée :

    installer le plugin :
    http://grails.org/plugin/mysql-connectorj

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo