[EJB3][Easybeans] Problème déploiement Statefulbean

Problème déploiement Statefulbean [EJB3][Easybeans] - Java - Programmation

Marsh Posté le 31-07-2006 à 16:53:21    

Bonjour,
 
J'ai écrit un statefulbean EJB3 qui accède à une base de donnée.  
 
Mon serveur d'application est JONAS et je me sers des Easybeans afin de programmer les EJB3.
 
J'ai un problème lors du déploiement de cet EJB dans le conteneur Easybeans. En effet lors du déploiement, un message d'erreur se produit.
 
Voici le message d'erreur qui apparaît lors du déploiement dans le
conteneur Easybeans  :
 
 
2006-07-28 14:55:58,590 : CommonsLoggerImpl.info : Creating container
for archive /project/geomobile/soft/JONAS_4_7_4/ejb3s/geo.jar.
2006-07-28 14:55:58,712 : CommonsLoggerImpl.info : Analyze elapsed
during : 117 ms
2006-07-28 14:55:58,823 : CommonsLoggerImpl.info : Enhancement elapsed
during : 106 ms
2006-07-28 14:55:59,111 : CommonsLoggerImpl.info : No transaction-type
defined. Set to default JTA transaction-type
2006-07-28 14:55:59,500 : CommonsLoggerImpl.info : No persistence
provider was set, set to value org.hibernate.ejb.HibernatePersistence.
2006-07-28 14:55:59,503 : CommonsLoggerImpl.info : Found a default
configuration for the persistence provider
org.hibernate.ejb.HibernatePersistence
2006-07-28 14:55:59,507 : CommonsLoggerImpl.info : Setting the property
hibernate.transaction.manager_lookup_class with value
org.hibernate.transaction.JOTMTransactionManagerLookup
2006-07-28 14:55:59,509 : CommonsLoggerImpl.info : Setting the property
hibernate.cache.provider_class with value
org.hibernate.cache.HashtableCacheProvider
2006-07-28 14:55:59,513 :
Ejb3Configuration.createContainerEntityManagerFactory : Processing
PersistenceUnitInfo [
        name: geo
        ...]
2006-07-28 14:55:59,547 : Ejb3Configuration.scanForClasses : found EJB3
Entity bean: java.geomobile.domain.Cabin
2006-07-28 14:55:59,606 : Ejb3Configuration.scanForClasses : found EJB3
Entity bean: java.geomobile.domain.Cabin

Exception in thread "Thread-44" javax.persistence.PersistenceException:
[PersistenceUnit: geo] class or package not found
        at
org.hibernate.ejb.Ejb3Configuration.addNamedAnnotatedClasses(Ejb3Configuration.java:965)
        at
org.hibernate.ejb.Ejb3Configuration.addClassesToSessionFactory(Ejb3Configuration.java:768)
        at
org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:654)
        at
org.hibernate.ejb.Ejb3Configuration.createContainerEntityManagerFactory(Ejb3Configuration.java:350)
        at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:119)
        at
org.objectweb.easybeans.persistence.JPersistenceContext.init(JPersistenceContext.java:72)
        at
org.objectweb.easybeans.persistence.JPersistenceContext.<init>(JPersistenceContext.java:65)
        at
org.objectweb.easybeans.persistence.PersistenceUnitManager.<init>(PersistenceUnitManager.java:60)
        at
org.objectweb.easybeans.persistence.xml.PersistenceXmlFileAnalyzer.analyzePersistenceXmlFile(PersistenceXmlFileAnalyzer.java:178)
        at
org.objectweb.easybeans.container.JContainer3.start(JContainer3.java:234)
        at
org.objectweb.easybeans.server.ContainersMonitor.scanNewContainers(ContainersMonitor.java:156)
        at
org.objectweb.easybeans.server.ContainersMonitor.run(ContainersMonitor.java:109)
Caused by: java.lang.ClassNotFoundException: java.geomobile.domain.Cabin
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:242)
        at
org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:117)
        at
org.hibernate.ejb.Ejb3Configuration.classForName(Ejb3Configuration.java:881)
        at
org.hibernate.ejb.Ejb3Configuration.addNamedAnnotatedClasses(Ejb3Configuration.java:953)
        ... 11 more

 
 
 
 
 
 
Voici le code mon Satefulbean :
 
 
 
 
package java.geomobile.login;
 
import java.geomobile.domain.Cabin;
 
import javax.ejb.Remote;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
@Stateful
@Remote(LoginRemote.class)
public class LoginBean implements LoginRemote {
 
 @PersistenceContext(unitName="geo" )
 private EntityManager entityManager;
 
 private Cabin client;
 private boolean add = false;
 
 @Remove
 //public T_Client findOrCreateClient(String noTel, String email) {
 public boolean findOrCreateClient(int id, String name) {
 
  try {
   // recherche du client dans la base de données
   Query q = entityManager
     .createQuery("from T_Client c where c.id = :id and c.name = :name" );
   q.setParameter("id", id);
   q.setParameter("name", name);
   this.client = (Cabin) q.getSingleResult();
   
   add = true;
  } catch (NoResultException notFound) {
   // client non existant dan sl a base de données
   // création du client
 
   this.client = new Cabin();
   this.client.setId(id);
   this.client.setName(name);
   entityManager.persist(this.client);
 
   add = false;
  }
  //return this.client;
  return add;
 }
 
}
 
 
 
 
 
Ce problème est d'autant plus bizarre que j'ai écrit auparavant un statefulbean qui fonctionnait correctement, ainsi qu'un entitybean.
Mais à partir du moment où j'essaye les deux en un, cela ne fonctionne plus.
 
 
Quelqu'un pourrait-il m'aider , svp ???
 
 
Merci pour vos réponses.


Message édité par Flash Gourdin le 31-07-2006 à 16:58:22
Reply

Marsh Posté le 31-07-2006 à 16:53:21   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed