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

NetBeans Java Discussion :

[NBP]NetBeans Platform - ModuleInstall - Hibernate


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Par défaut [NBP]NetBeans Platform - ModuleInstall - Hibernate
    Bonjour à tous,

    Comme je l'avais expliqué dans un autre post, j'utilise NetBeans Platform avec Hibernate 3 (dans un library wrapper).
    L'initialisation de la base de données (Derby en embedded) est relativement longue, j'ai donc décidé de l'initialiser au chargement
    de mon appli avec un Installer qui hérite de ModuleInstall.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class Installer extends ModuleInstall {
     
        public static Configuration configuration;
        public static SessionFactory sessionFactory;
     
        public void restored() {
            configuration = new Configuration().configure(); 
            sessionFactory = configuration.buildSessionFactory();
            }
    }
    La configuration se passe a priori sans problème, mais au moment du buildSessionFactory, une exception est générée :

    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
     
    java.sql.SQLException: Failed to start database 'mabase', see the next exception for details.
            at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
            at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
            at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
            at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
            at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
            at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
            at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
            at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
            at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
            at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
            at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
            at java.sql.DriverManager.getConnection(DriverManager.java:525)
            at java.sql.DriverManager.getConnection(DriverManager.java:140)
            at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
            at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
            at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
            at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
            at org.myorg.monapp.Installer.restored(Installer.java:23)
    Je ne comprends pas en quoi cela pose problème...
    Est-ce du au fait que tous les modules n'aient pas encore été initialisés ? Si oui pourquoi la configuration marche t'elle ?

    D'avance, merci !

    Arnaud

  2. #2
    Membre émérite
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Par défaut
    Salut,

    Failed to start database 'mabase', see the next exception for details.
    Et c'est quoi l'exception suivante ? ca pourrait beaucoup nous aider a resoudre ton probleme

    Sinon, je l'ai fait avec une base mysql sans problème, par contre c'est spring qui initialisait la session factory.
    Sinon ne déclares pas ta variable en static. Tu ferais mieux de créer une classe a part sur le principe de singleton, ca serait bien plus propre.

    n!co

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Par défaut
    Merci pour ta réponse.

    Il m'affiche simplement la même exception deux fois ...

    Par contre, j'ai remarqué que cela pose un problème lorsque j'exécute mon projet à l'intérieur de NetBeans. Mais lorsque que je créée un .zip et que je exécute en dehors de l'IDE, le problème n'est visiblement plus présent...

  4. #4
    Membre émérite
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Par défaut
    La seule chose que je peux voir comme ca alors c'est un problème de dependance entre tes modules.
    Sinon sans plus d'info, difficile de t'apporter un aide ...

    n!co

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Par défaut
    Re,

    Je vais essayer d'être plus précis. Mon application est décomposé en plusieurs modules. Un module contenant la librairie Derby.
    Un module contenant l'ensemble des librairies utiles à Hibernate et possédant une dépendance vis-à-vis du module contenant Derby. Ce module "Hibernate" contient les librairies suivantes :
    - ant
    - antlr
    - asm
    - cglib
    - commons collections
    - commons logging
    - dom4j
    - log4j
    - ehcache
    - hibernate3
    - jta

    Lorsque je construit le module Hibernate, il apparait bien des warnings au sujets de problèmes d'accès entre différentes classes, mais je pense qu'ils n'influent pas sur le bon fonctionnement dans mon cas (malgré leur grand nombre )

    Le problème que j'ai est que je cherche à configurer et initialiser la connexion avec la base de données pendant le démarrage de l'application. Ensuite, lorsque l'utilisateur a besoin d'une session, j'effectue simplement un openSession sur le sessionFactory.

    Ce qui m'embete vraiment, c'est que tout marche parfaitement lorsque je configure et initialise la connexion à la base de données en dehors de ma classe héritant de ModuleInstall. Lorsque cette initialisation est faite dans mon Installer, l'exception indiquée dans mon premier post est générée.

    Je ne sais pas si j'ai été plus précis ... je ne vois pas trop quoi ajouter ...

  6. #6
    Membre émérite
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Par défaut
    Ton ModuleInstall se trouve dans quel module ?
    Tu as gardé ton système de variable static pour stocker ta sessionFactory ?

Discussions similaires

  1. Utilisation de Hibernate dans NetBeans Platform
    Par Mustick dans le forum NetBeans Platform
    Réponses: 4
    Dernier message: 06/10/2011, 12h59
  2. Netbeans Platform et Hibernate
    Par aяиaud dans le forum NetBeans
    Réponses: 4
    Dernier message: 11/04/2007, 15h18
  3. Réponses: 2
    Dernier message: 25/03/2006, 18h54
  4. Réponses: 1
    Dernier message: 24/03/2006, 16h32
  5. Réponses: 2
    Dernier message: 09/12/2005, 22h40

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