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

Java EE Discussion :

Problème avec notation EJB


Sujet :

Java EE

  1. #1
    Provisoirement toléré
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Points : 76
    Points
    76
    Par défaut Problème avec notation EJB
    salut je n'arrive pas à comprendre l'erreur de mon simple exemple
    je voudrais exécuter l'exemple mais toujours message d'erreur
    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
     
    package test;
    import javax.ejb.EJB;
    import ejb.MyBeanLocal;
     
    public class MyBeanClient {
    	@EJB
    	private static MyBeanLocal mybean1;
    	public static void main(String[] args) {
             try
    	           {
                   System.out.println("salut");
    	           mybean1.doSomething();
    	           }   
    	           catch (Exception e) {
    	             e.printStackTrace() ;
                                       }
    }
    }
    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
     
    package ejb;
     
    import javax.ejb.LocalBean;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
     
    import entityBeans.Contact;
     
    @Stateless 
    @LocalBean
    public class MyBean {
     
       @PersistenceContext
       EntityManager em;
     
        public void doSomething() {
           System.out.println("Hello World!");        
       }     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    package ejb;
    import javax.ejb.Local;
    @Local
    public interface MyBeanLocal extends IMyBean {
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    package ejb;
     
    import java.io.Serializable;
     
    public interface IMyBean extends Serializable {   
            public void doSomething();
     
    }
    voila le message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    salut
    java.lang.NullPointerException
    	at test.MyBeanClient.main(MyBeanClient.java:14)
    et le fichier de persistance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <persistence>
       <persistence-unit name="IntroEJB3">
          <jta-data-source>java:/DefaultDS</jta-data-source>
          <properties>
             <property name="hibernate.hbm2ddl.auto" value="update"/>
          </properties>
       </persistence-unit>
    </persistence>
    merci d'avance

  2. #2
    Provisoirement toléré
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Points : 76
    Points
    76
    Par défaut
    je n'ai pas compris l'erreur je vous demande de m'aider merci

  3. #3
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    L'injection par annotation ne fonctionnera pas dans un simple main.
    Tu le déploies comment ton ejb et où ?

  4. #4
    Provisoirement toléré
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Points : 76
    Points
    76
    Par défaut
    Bonjour
    j'utilise Version: Juno Service Release 2 et jboss 6.0
    j'ai modifié l'exemple
    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
     
    package ejb;
     
    import javax.ejb.LocalBean;
    import javax.ejb.Stateless;
     
    @Stateless(mappedName="ContactBean")
    @LocalBean
    public class MyBean implements MyBeanLocal {
     
    	public String coucouContact(String nomContact) {
    		return "Coucou, "+nomContact;
    		}
        public MyBean() {
     
        }
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    import javax.ejb.Local;
     
    @Local
    public interface MyBeanLocal {
    	public String coucouContact(String nomContact);
    }
    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
     
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
     
     
    public class MyBeanClient {
      public static void main(String[] args) throws NamingException {
     
    	 System.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
    	 System.setProperty("java.naming.factory.url.pkgs","jboss.naming:org.jnp.interfaces");
    	 System.setProperty("java.naming.provider.url", "localhost:1099");
     
    	 Context context =new InitialContext();
     	 MyBeanLocal bean = (MyBeanLocal)context.lookup("ContactBean");
         System.out.println(bean.coucouContact("Mon Premier Client EJB3")); 
     
    	}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <persistence>
       <persistence-unit name="IntroEJB3">
          <jta-data-source>java:/DefaultDS</jta-data-source>
          <properties>
             <property name="hibernate.hbm2ddl.auto" value="update"/>
          </properties>
       </persistence-unit>
    </persistence>
    voila message d'erreur
    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
     
    Exception in thread "main" javax.naming.NameNotFoundException: ContactBean not bound
    	at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
    	at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
    	at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
    	at org.jnp.server.NamingServer.lookup(NamingServer.java:443)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    	at sun.rmi.transport.Transport$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    	at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
    	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
    	at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
    	at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    	at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
    	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:728)
    	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688)
    	at javax.naming.InitialContext.lookup(Unknown Source)
    	at ejb.MyBeanClient.main(MyBeanClient.java:15)

Discussions similaires

  1. problème avec le ejb-jar.xml entre JBoss et OpenEJB
    Par mid491 dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 11/02/2010, 14h09
  2. Problème avec UPDATE EJB + JSF
    Par GeantBioHazard dans le forum JSF
    Réponses: 8
    Dernier message: 19/02/2008, 13h34
  3. Réponses: 3
    Dernier message: 12/02/2008, 16h19
  4. [EJB] problème avec 1 EJB.
    Par Marco_L dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 22/05/2007, 11h57
  5. [EJB2.1 Entity] [CMP] Problème avec les @ejb.finder
    Par karibouxe dans le forum Java EE
    Réponses: 20
    Dernier message: 28/12/2005, 23h38

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