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

Glassfish et Payara Java Discussion :

Test des EJB


Sujet :

Glassfish et Payara Java

  1. #1
    Membre habitué Avatar de zolive
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 152
    Points : 137
    Points
    137
    Par défaut Test des EJB
    Bonjour,
    J'utilise JUnit 4, Glassfish 3.01, Mysql
    J'ai un persistent.xml comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
      <persistence-unit name="ACS" transaction-type="JTA">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <jta-data-source>jdbc/acs</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <properties>
          <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
        </properties>
      </persistence-unit>
    </persistence>
    J'ai donc déclarer dans mon glassfish de prod les liens jdbc qui vont bien et
    ça fonctionne bien.
    Mais comme tout bon développeur je cherche à faire des tests unitaires pour me permettre de valider plus facilement certaine partie de code.
    Je me suis donc mis à créer des tests qui vérifient mes EJBs. Pour cela j'utilise le glassfish-embedded-all.

    mon test unitaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    {
            EJBContainer ejbC = EJBContainer.createEJBContainer();
     
            Context ctx = ejbC.getContext();
    ..
    }
    déclenche une exception :

    Caused by: javax.naming.NamingException: Lookup failed for 'jdbc/acs' in SerialContext [Root exception is javax.naming.NameNotFoundException: acs not found]
    at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102)
    at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78)
    at com.agileacs.rpcmethod.invoke.InformInvokeTest.testInvoke(InformInvokeTest.java:68 at org.glassfish.persistence.jpa.PersistenceUnitInfoImpl.<init>(PersistenceUnitInfoImpl.java:111)


    Je me pose donc la question de savoir comment déclarer le système pour que je puisse tester unitairement les accès à la bdd l'idéal pour moi serait d'avoir une instance de base pour la prod et une instance de base pour le test.
    QQ a t il une idée ou un exemple ?

  2. #2
    Membre habitué Avatar de zolive
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 152
    Points : 137
    Points
    137
    Par défaut
    j'ai vu qu'il existe une version3.0.1 pour le glassfish embeded
    je viens donc de le mettre. Maintenant j'ai une autre execption :-(

    3 sept. 2010 05:54:17 org.glassfish.ejb.embedded.EJBContainerProviderImpl createEJBContainer
    INFO: [EJBContainerProviderImpl] Cleaning up on failure ...
    java.lang.AssertionError
    at org.jvnet.hk2.config.Dom.<init>(Dom.java:153)
    at org.jvnet.hk2.config.ConfigBean.<init>(ConfigBean.java:81)
    at org.glassfish.config.support.GlassFishConfigBean.<init>(GlassFishConfigBean.java:81)
    at org.glassfish.kernel.config.DefaultConfigParser$1.make(DefaultConfigParser.java:83)
    at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:186)
    at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:161)
    at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:92)
    at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:109)
    at org.glassfish.kernel.config.DefaultConfigParser$2.run(DefaultConfigParser.java:93)
    at org.glassfish.kernel.config.DefaultConfigParser.parseContainerConfig(DefaultConfigParser.java:87)
    at org.glassfish.scripting.jruby.JRubyContainer.postConstruct(JRubyContainer.java:97)
    at com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)
    at com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)
    at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
    at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
    at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
    at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
    at org.glassfish.internal.data.EngineInfo.getContainer(EngineInfo.java:78)
    at org.glassfish.internal.data.EngineInfo.stop(EngineInfo.java:203)
    at com.sun.enterprise.v3.server.ApplicationLoaderService.preDestroy(ApplicationLoaderService.java:427)
    at com.sun.hk2.component.AbstractWombInhabitantImpl.dispose(AbstractWombInhabitantImpl.java:74)
    at com.sun.hk2.component.SingletonInhabitant.release(SingletonInhabitant.java:66)
    at com.sun.hk2.component.LazyInhabitant.release(LazyInhabitant.java:112)
    at com.sun.enterprise.v3.server.AppServerStartup.stop(AppServerStartup.java:393)
    at org.glassfish.api.embedded.Server.stop(Server.java:603)
    at org.glassfish.ejb.embedded.EJBContainerImpl.stop(EJBContainerImpl.java:284)
    at org.glassfish.ejb.embedded.EJBContainerImpl.forceClose(EJBContainerImpl.java:179)
    at org.glassfish.ejb.embedded.EJBContainerImpl.close(EJBContainerImpl.java:165)
    at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:128)
    at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102)
    at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78)

  3. #3
    Membre habitué Avatar de zolive
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 152
    Points : 137
    Points
    137
    Par défaut
    J'ai essayé les différentes versions de glassfish-embedded-all sans grand succès et meme la version 3.1-SNAPSHOT

    J'ai soit l'exception décrite dans le dernier message soit
    GRAVE: ejb.embedded.exception_instantiating
    javax.ejb.EJBException: Failed to deploy EJB modules - see log for details
    at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:147)
    at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:128)
    at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:120)
    at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:96)
    at com.agileacs.rpcmethod.invoke.InformInvokeTest.testInvoke(InformInvokeTest.java:68)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
    at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
    at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
    at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
    at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
    at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:71)
    at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
    at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
    at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
    at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
    at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
    at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
    at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
    ce qui ne m'avance pas plus :-(
    QQ a t il une version à me conseiller ?

  4. #4
    Membre émérite
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Points : 2 777
    Points
    2 777
    Par défaut
    Je ne comprends pas la dernière exception, mais d'une manière générale pour les tests, tu dois plutôt utiliser lib/embedded/glassfish-embedded-static-shell.jar qui est un JAR qui pointe vers tous les JARs nécessaire depuis une installation existante. Le "embedded-jar" c'est plus pour du runtime ou tu souhaites embarquer GlassFish avec ton application.

  5. #5
    Membre habitué Avatar de zolive
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 152
    Points : 137
    Points
    137
    Par défaut
    b Merci Alexis je vais essayer ça tout de suite

  6. #6
    Membre habitué Avatar de zolive
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 152
    Points : 137
    Points
    137
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <dependency>
        <groupId>org.glassfish.extras</groupId>
        <!--artifactId>glassfish-embedded-all</artifactId-->
        <artifactId>glassfish-embedded-shell-jar</artifactId>
                <version>3.0.1</version>
                <!--version>3.1-SNAPSHOT</version-->
        <scope>test</scope>
    </dependency>
    Downloading: http://download.java.net/maven/glass...-jar-3.0.1.jar
    Unable to find resource 'org.glassfish.extras:glassfish-embedded-shell-jar:jar:3.0.1' in repository java.net.glassfish (http://download.java.net/maven/glassfish)

    et pourtant quand on se balade dans le site http://download.java.net/maven/glassfish on a l'impression que le fichier est bien là...
    Une idée sur le pb ?

  7. #7
    Membre émérite
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Points : 2 777
    Points
    2 777
    Par défaut
    glassfish-embedded-static-shell.jar (pas glassfish-embedded-shell.jar) est une coquille vide et ne peut pas être utilisé depuis Maven. C'est un JAR à mettre dans le classpath (son manifest exprime les dépendances de manière relative sur les JARs nécessaires à l'exécution).

    Pour un usage avec Maven, glassfish-embedded-all.jar est plus approprié.

    J'ai essayé de résumer ça dans ce billet

    Au passage, il te faudra peut-être rajouter ce référentiel (Nexus) Maven dans ton pom.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <repository> 
       <id>java.net</id> 
       <name>GlassFish Maven Repository</name> 
       <url>http://download.java.net/maven/glassfish</url> 
    </repository>

  8. #8
    Membre habitué Avatar de zolive
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 152
    Points : 137
    Points
    137
    Par défaut
    J'ai fait un exemple simple qui montre mon pb
    (Le projet est sous maven)
    il est dispo à l'adresse suivante :
    http://www.agileacs.com/Sample.tar

    mvn clean install va enclencher les tests
    J'ai l'impression qu'il n'arrive pas à créer correctement le conteneur EJB:

    -------------------------------------------------------
    T E S T S
    -------------------------------------------------------
    Running com.sample.ProcessTest
    businessMethod
    17 sept. 2010 10:42:19 org.glassfish.ejb.embedded.EJBContainerProviderImpl getValidFile
    GRAVE: ejb.embedded.location_not_exists

    une idée à me suggérer ?
    zolive

  9. #9
    Membre émérite
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Points : 2 777
    Points
    2 777
    Par défaut
    EJBContainer n'est utilisable (d'après la spec) qu'avec les EJB "light", donc pas d'interface remote. Pour simplifier ton devpt, tu peux tout mettre dans un WAR (du coup glassfish-embedded-web.jar suffira).

  10. #10
    Membre habitué Avatar de zolive
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 152
    Points : 137
    Points
    137
    Par défaut
    J'ai remplacé les remote par des local mais
    On obtient malheureusement le même résultat.
    -------------------------------------------------------
    T E S T S
    -------------------------------------------------------
    Running com.sample.ProcessTest
    businessMethod
    17 sept. 2010 17:11:51 org.glassfish.ejb.embedded.EJBContainerProviderImpl getValidFile
    GRAVE: ejb.embedded.location_not_exists

    J'ai lu un post sur les issues de glassfish je ne suis pas le seul à avoir ce pb.
    J'espere qu'il sera fixé bientot.

  11. #11
    Membre émérite
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Points : 2 777
    Points
    2 777
    Par défaut
    Il me semble qu'on ne gère pas les EAR avec EJBContainer.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 2
    Points : 4
    Points
    4
    Par défaut EAR non supportés
    Bonjour à tous,

    Je me retrouve dans la même situation que zolive. Voir ci dessous pour le stack trace.
    Au début du stack trace, j'ai juste ajouté un split du classpath pour savoir quels étaient les composants embarqués.

    Le premier message "GRAVE" n'est pas très explicite :

    18 oct. 2010 08:50:46 org.glassfish.ejb.embedded.EJBContainerProviderImpl getValidFile
    GRAVE: ejb.embedded.location_not_exists

    Quand au second, ce qui me surprend c'est de voir apparaître çà dans la pile d'exception

    at org.glassfish.scripting.jruby.JRubyContainer.postConstruct(JRubyContainer.java:97)

    Comme pour zolive ....

    Peut on confirmer que c'est juste les ear qui ne sont pas supportés avec Embedded ou bien n'a ton pas quelques interférences du RubyContainer ?

    Je précise que je fais booter mon embedded glassfish sur une installation existente d'un glassfish-3.0.1 (full) et donc avec le RubyContainer installé.

    Merci de vos précisions.

    Bonne journée

    -------------------------------------------------------
    T E S T S
    -------------------------------------------------------
    Running com.hipay.ejb.AccountControllerTest
    class path component = /home/thierry/Development/java/HipayEngine/HipayEngine-ejb/target/test-classes
    class path component = /home/thierry/Development/java/HipayEngine/HipayEngine-ejb/target/classes
    class path component = /home/thierry/Development/java/HipayEngine/bridge/target/bridge-1.0-SNAPSHOT.jar
    class path component = /home/thierry/.m2/repository/org/hibernate/hibernate-entitymanager/3.5.6-Final/hibernate-entitymanager-3.5.6-Final.jar
    class path component = /home/thierry/.m2/repository/org/hibernate/hibernate-core/3.5.6-Final/hibernate-core-3.5.6-Final.jar
    class path component = /home/thierry/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar
    class path component = /home/thierry/.m2/repository/commons-collections/commons-collections/3.1/commons-collections-3.1.jar
    class path component = /home/thierry/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
    class path component = /home/thierry/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
    class path component = /home/thierry/.m2/repository/org/hibernate/hibernate-annotations/3.5.6-Final/hibernate-annotations-3.5.6-Final.jar
    class path component = /home/thierry/.m2/repository/cglib/cglib/2.2/cglib-2.2.jar
    class path component = /home/thierry/.m2/repository/asm/asm/3.1/asm-3.1.jar
    class path component = /home/thierry/.m2/repository/javassist/javassist/3.9.0.GA/javassist-3.9.0.GA.jar
    class path component = /home/thierry/.m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.0.Final/hibernate-jpa-2.0-api-1.0.0.Final.jar
    class path component = /home/thierry/.m2/repository/org/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.jar
    class path component = /home/thierry/.m2/repository/org/hibernate/hibernate-validator/4.0.2.GA/hibernate-validator-4.0.2.GA.jar
    class path component = /home/thierry/.m2/repository/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA.jar
    class path component = /home/thierry/.m2/repository/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar
    class path component = /home/thierry/.m2/repository/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar
    class path component = /home/thierry/.m2/repository/javax/activation/activation/1.1/activation-1.1.jar
    class path component = /home/thierry/.m2/repository/com/sun/xml/bind/jaxb-impl/2.1.3/jaxb-impl-2.1.3.jar
    class path component = /home/thierry/.m2/repository/org/hibernate/hibernate-search/3.1.1.GA/hibernate-search-3.1.1.GA.jar
    class path component = /home/thierry/.m2/repository/org/hibernate/hibernate-commons-annotations/3.1.0.GA/hibernate-commons-annotations-3.1.0.GA.jar
    class path component = /home/thierry/.m2/repository/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar
    class path component = /home/thierry/.m2/repository/org/apache/lucene/lucene-core/2.4.1/lucene-core-2.4.1.jar
    class path component = /home/thierry/.m2/repository/javax/transaction/jta/1.1/jta-1.1.jar
    class path component = /home/thierry/.m2/repository/hsqldb/hsqldb/1.8.0.2/hsqldb-1.8.0.2.jar
    class path component = /home/thierry/.m2/repository/org/hibernate/hibernate-envers/3.5.0-Final/hibernate-envers-3.5.0-Final.jar
    class path component = /home/thierry/.m2/repository/org/hibernate/hibernate-tools/3.2.0.ga/hibernate-tools-3.2.0.ga.jar
    class path component = /home/thierry/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
    class path component = /home/thierry/.m2/repository/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar
    class path component = /home/thierry/.m2/repository/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar
    class path component = /home/thierry/.m2/repository/postgresql/postgresql/9.0-801.jdbc4/postgresql-9.0-801.jdbc4.jar
    class path component = /home/thierry/.m2/repository/org/glassfish/extras/glassfish-embedded-all/3.0.1-b20/glassfish-embedded-all-3.0.1-b20.jar
    class path component = /home/thierry/.m2/repository/javax/javaee-api/6.0/javaee-api-6.0.jar
    class path component = /home/thierry/.m2/repository/javax/javaee-endorsed-api/6.0/javaee-endorsed-api-6.0.jar
    class path component = /home/thierry/.m2/repository/junit/junit/4.5/junit-4.5.jar
    Launch container ....
    18 oct. 2010 08:50:46 org.glassfish.ejb.embedded.EJBContainerProviderImpl getValidFile
    GRAVE: ejb.embedded.location_not_exists
    18 oct. 2010 08:50:46 com.sun.enterprise.v3.server.AppServerStartup run
    INFO: GlassFish Server Open Source Edition 3.0.1 (java_re-private) startup time : Embedded(314ms) startup services(218ms) total(532ms)
    18 oct. 2010 08:50:47 com.sun.enterprise.transaction.JavaEETransactionManagerSimplified initDelegates
    INFO: Using com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate as the delegate
    18 oct. 2010 08:50:47 org.glassfish.admin.mbeanserver.JMXStartupService$JMXConnectorsStarterThread run
    INFO: JMXStartupService: JMXConnector system is disabled, skipping.
    18 oct. 2010 08:50:47 AppServerStartup run
    INFO: [Thread[GlassFish Kernel Main Thread,5,main]] started
    18 oct. 2010 08:51:00 com.sun.enterprise.security.SecurityLifecycle <init>
    INFO: security.secmgroff
    18 oct. 2010 08:51:00 com.sun.enterprise.security.SecurityLifecycle onInitialization
    INFO: Security startup service called
    18 oct. 2010 08:51:00 com.sun.enterprise.security.PolicyLoader loadPolicy
    INFO: policy.loading
    18 oct. 2010 08:51:00 com.sun.enterprise.security.auth.realm.Realm doInstantiate
    INFO: Realm admin-realm of classtype com.sun.enterprise.security.auth.realm.file.FileRealm successfully created.
    18 oct. 2010 08:51:00 com.sun.enterprise.security.auth.realm.Realm doInstantiate
    INFO: Realm file of classtype com.sun.enterprise.security.auth.realm.file.FileRealm successfully created.
    18 oct. 2010 08:51:00 com.sun.enterprise.security.auth.realm.Realm doInstantiate
    INFO: Realm certificate of classtype com.sun.enterprise.security.auth.realm.certificate.CertificateRealm successfully created.
    18 oct. 2010 08:51:00 com.sun.enterprise.security.SecurityLifecycle onInitialization
    INFO: Security service(s) started successfully....
    18 oct. 2010 08:51:01 org.hibernate.validator.util.Version <clinit>
    INFO: Hibernate Validator 4.0.2.GA
    18 oct. 2010 08:51:01 org.hibernate.validator.engine.resolver.DefaultTraversableResolver detectJPA
    INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
    18 oct. 2010 08:51:01 org.glassfish.admin.monitor.MonitoringBootstrap handleLevelChange
    INFO: enableStatsMonitoring
    18 oct. 2010 08:51:01 org.glassfish.ejb.embedded.EJBContainerProviderImpl createEJBContainer
    INFO: [EJBContainerProviderImpl] Cleaning up on failure ...
    java.lang.AssertionError
    at org.jvnet.hk2.config.Dom.<init>(Dom.java:153)
    at org.jvnet.hk2.config.ConfigBean.<init>(ConfigBean.java:81)
    at org.glassfish.config.support.GlassFishConfigBean.<init>(GlassFishConfigBean.java:81)
    at org.glassfish.kernel.config.DefaultConfigParser$1.make(DefaultConfigParser.java:83)
    at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:186)
    at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:161)
    at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:92)
    at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:109)
    at org.glassfish.kernel.config.DefaultConfigParser$2.run(DefaultConfigParser.java:93)
    at org.glassfish.kernel.config.DefaultConfigParser.parseContainerConfig(DefaultConfigParser.java:87)
    at org.glassfish.scripting.jruby.JRubyContainer.postConstruct(JRubyContainer.java:97)
    at com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)
    at com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)
    at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
    at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
    at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
    at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
    at org.glassfish.internal.data.EngineInfo.getContainer(EngineInfo.java:78)
    at org.glassfish.internal.data.EngineInfo.stop(EngineInfo.java:203)
    at com.sun.enterprise.v3.server.ApplicationLoaderService.preDestroy(ApplicationLoaderService.java:427)
    at com.sun.hk2.component.AbstractWombInhabitantImpl.dispose(AbstractWombInhabitantImpl.java:74)
    at com.sun.hk2.component.SingletonInhabitant.release(SingletonInhabitant.java:66)
    at com.sun.hk2.component.LazyInhabitant.release(LazyInhabitant.java:112)
    at com.sun.enterprise.v3.server.AppServerStartup.stop(AppServerStartup.java:393)
    at org.glassfish.api.embedded.Server.stop(Server.java:603)
    at org.glassfish.ejb.embedded.EJBContainerImpl.stop(EJBContainerImpl.java:284)
    at org.glassfish.ejb.embedded.EJBContainerImpl.forceClose(EJBContainerImpl.java:179)
    at org.glassfish.ejb.embedded.EJBContainerImpl.close(EJBContainerImpl.java:165)
    at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:128)
    at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102)
    at com.hipay.ejb.AccountControllerTest.setUpClass(AccountControllerTest.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
    at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59)
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:120)
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:103)
    at org.apache.maven.surefire.Surefire.run(Surefire.java:169)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
    at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
    18 oct. 2010 08:51:01 org.glassfish.admin.mbeanserver.JMXStartupService shutdown
    INFO: JMXStartupService and JMXConnectors have been shut down.
    18 oct. 2010 08:51:01 com.sun.enterprise.v3.server.AppServerStartup stop
    INFO: Shutdown procedure finished
    18 oct. 2010 08:51:01 AppServerStartup run
    INFO: [Thread[GlassFish Kernel Main Thread,5,main]] exiting
    18 oct. 2010 08:51:01 org.glassfish.ejb.embedded.EJBContainerProviderImpl createEJBContainer
    GRAVE: ejb.embedded.exception_instantiating
    java.lang.AssertionError
    at org.jvnet.hk2.config.Dom.<init>(Dom.java:153)
    at org.jvnet.hk2.config.ConfigBean.<init>(ConfigBean.java:81)
    at org.glassfish.config.support.GlassFishConfigBean.<init>(GlassFishConfigBean.java:81)
    at org.glassfish.kernel.config.DefaultConfigParser$1.make(DefaultConfigParser.java:83)
    at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:186)
    at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:161)
    at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:92)
    at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:109)
    at org.glassfish.kernel.config.DefaultConfigParser$2.run(DefaultConfigParser.java:93)
    at org.glassfish.kernel.config.DefaultConfigParser.parseContainerConfig(DefaultConfigParser.java:87)
    at org.glassfish.scripting.jruby.JRubyContainer.postConstruct(JRubyContainer.java:97)
    at com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)
    at com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)
    at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
    at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
    at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
    at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
    at org.glassfish.internal.data.EngineInfo.getContainer(EngineInfo.java:78)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.startContainers(ApplicationLifecycle.java:716)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:461)
    at org.glassfish.javaee.full.deployment.EarDeployer.prepareBundle(EarDeployer.java:264)
    Closing EJB Container
    at org.glassfish.javaee.full.deployment.EarDeployer.access$200(EarDeployer.java:79)
    at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:131)
    at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:129)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnBundles(EarDeployer.java:197)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllTypedBundles(EarDeployer.java:206)
    at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllBundles(EarDeployer.java:232)
    at org.glassfish.javaee.full.deployment.EarDeployer.prepare(EarDeployer.java:129)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:644)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:296)
    at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:214)
    at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:144)
    at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:128)
    at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120)
    at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102)
    at com.hipay.ejb.AccountControllerTest.setUpClass(AccountControllerTest.java:54)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
    at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59)
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:120)
    at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:103)
    at org.apache.maven.surefire.Surefire.run(Surefire.java:169)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
    at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
    Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 14.983 sec <<< FAILURE!

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 59
    Points : 70
    Points
    70
    Par défaut
    Salut,

    L'erreur "ejb.embedded.location_not_exists" n'est pas grave. C'est juste parce que tu n'as pas configuré l'emplacement d'une distribution Glassfish déjà existante. Et tu n'as pas besoin de le faire.

    Je ne sais pas si cela peut t'aider mais j'ai commencé à écrire une série d'articles sur Glassfish Embedded. Plus d'info ici.

    Bonne réception et bon courage.

Discussions similaires

  1. [JMS] problème de test Unitaires des EJB avec les MDB
    Par bruneltouopi dans le forum Java EE
    Réponses: 0
    Dernier message: 15/11/2012, 15h52
  2. [EJB] Test unitaire des EJB locaux
    Par miya dans le forum Java EE
    Réponses: 1
    Dernier message: 19/07/2011, 10h12
  3. [JUnitEE] Test des EJB
    Par geforce dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 04/07/2011, 13h49
  4. Problème de test JUnit des EJB
    Par yassine11323 dans le forum Java EE
    Réponses: 2
    Dernier message: 31/05/2011, 22h44
  5. [EJB3] Tests des EJB avec EjbUnit
    Par Jahroots dans le forum Java EE
    Réponses: 0
    Dernier message: 18/09/2009, 15h52

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