Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1609 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Erreur de déploiement sous JBoss

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur de déploiement sous JBoss

n°1280624
casper78
Posté le 10-01-2006 à 16:45:29  profilanswer
 


Bonjour tout le monde
 
Voila, depuis 2 jours et quelques, je cherche vainement à déployer un EAR sous JBoss.
Je dis vainement car j'obtiens au démarrage la même erreur :
 

Code :
  1. org.jboss.deployment.DeploymentException: type-mapping is not initialized: java:/MaBase was not deployed or type-mapping was not
  2. configured.
  3.         at org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCEntityMetaData.getTypeMapping(JDBCEntityMetaData.java:1088)
  4.         at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.initStoreManager(JDBCStoreManager.java:412)
  5.         at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start(JDBCStoreManager.java:353)
  6.         at org.jboss.ejb.plugins.CMPPersistenceManager.start(CMPPersistenceManager.java:157)
  7.         at org.jboss.ejb.EntityContainer.startService(EntityContainer.java:340)


 
Or, dans le dossier META-INF de mon fichier JAR contennant mes EJB's  
j'y ai mis les fichiers suivants définissant la base utilisée :
 
jbosscmp-jdbc.xml :
 

Code :
  1. <jbosscmp-jdbc>
  2.    <defaults>
  3.      <datasource>java:/MaBase</datasource>
  4.      <create-table>False</create-table>
  5.    </defaults>
  6.    ...
  7.      <:jbosscmp-jdbc>


 
jaws.xml
 

Code :
  1. <jaws>
  2.    <datasource>java:/MaBase</datasource>
  3.    <type-mapping>Oracle8</type-mapping>
  4. </jaws>


 
De plus, dans server/default/conf, j'ai installé le fichier oracle-xa-ds.xml qui contient
les lignes suivantes (certaines valeurs comme l'adresse IP , ..etc ne sont pas indiqués):

Code :
  1. <xa-datasource>
  2.     <jndi-name>MaBase</jndi-name>
  3.     <track-connection-by-tx/>
  4.     <isSameRM-override-value>false</isSameRM-override-value>
  5.     <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
  6.     <xa-datasource-property name="URL">jdbc:oracle:thin:@adressIP:port:nomDuSchéma</xa-datasource-property>
  7.     <xa-datasource-property name="User">USER</xa-datasource-property>
  8.     <xa-datasource-property name="Password">PASSWD</xa-datasource-property>
  9.    
  10.     <!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool -->
  11.      
  12. <!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name-->
  13.     <!-- Checks the Oracle error codes and messages for fatal errors -->
  14.     <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
  15.     <!-- Oracles XA datasource cannot reuse a connection outside a transaction once enlisted in a global transaction and vice-versa -->
  16.     <no-tx-separate-pools/>
  17.       <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
  18.       <metadata>
  19.          <type-mapping>Oracle8</type-mapping>
  20.       </metadata>
  21.      
  22.   </xa-datasource>
  23.  
  24.   <!-- ///// Used MBeans for XA connections ///// -->
  25.   <mbean code="org.jboss.resource.adapter.jdbc.vendor.OracleXAExceptionFormatter"
  26.          name="jboss.jca:service=OracleXAExceptionFormatter">
  27.     <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>
  28.   </mbean>


 
Et donc, malgré tout cela, le vilain serveur JBoss s'obstine à ne pas me déployer mes fichiers EAR.  :cry:  
 
Au secours  !!
 
Comme d'habitude, je remercie d'avance ceux qui pourront m'aider  :jap:  
 
PS : Je suis un gros débutant sous JBOSS  :pfff: mais fallait il le préciser ??

mood
Publicité
Posté le 10-01-2006 à 16:45:29  profilanswer
 

n°1281075
the real m​oins moins
Posté le 11-01-2006 à 02:19:25  profilanswer
 

me rappelle plus du nom du fichier ou ça se trouve, mais il te dit qu'il connait pas le type mapping Oracle8. tous les types mappings sont déclarés dans un fichier du repertoire conf de jboss.. jpeux te le trouver demain ..


Message édité par the real moins moins le 11-01-2006 à 02:19:51

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1281266
Mario_
Vive le pingouiboulga !!
Posté le 11-01-2006 à 12:46:46  profilanswer
 

Je crois que je l'ai : standardjbosscmp-jdbc.xml dans le répertoire conf.


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
n°1281278
the real m​oins moins
Posté le 11-01-2006 à 13:11:00  profilanswer
 

effectivement


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1287818
casper78
Posté le 19-01-2006 à 18:52:02  profilanswer
 

Bonjour tout le monde
 
Pour ceux qui ont eu le même problème que moi, voici la solution que j'ai trouvée.
En effet, comme le disait le message d'erreur, il manquait le mapping dans le fichier jbosscmp-jdbc.xml
qui se trouve dans le dossier META-INF du fichier EAR.
Et donc, il a suffi de modifier le tache Ant comme ci-dessous, correspondant à la compilation des fichiers Jboss.
 

Code :
  1. <jboss destdir="META-INF"
  2.                version="4.0"
  3.                datasource="java:/<nom_base_de_donnees>"
  4.          datasourceMapping="Oracle8"
  5.                validatexml="true"
  6.                createTable="false" />

 
 
Et là miracle, mes EJB se sont déployés.
 
Par contre , lors des tests de fonctionnement, j'ai obtenu l'erreur suivante
 

Code :
  1. 2006-01-19 18:06:41,355 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Service] Executing SQL: SELECT <champ1>,<champ2>,  FROM <Table>
  2. WHERE (<champID>=?)
  3. 2006-01-19 18:06:41,363 ERROR [org.jboss.ejb.plugins.LogInterceptor] TransactionRolledbackLocalException in method: public abstract java.lang.Integer fr.vizzavi.gc.ejb.entity.ServiceLocal.getId(), causedBy:
  4. java.sql.SQLException: ORA-00936: missing expression
  5.         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
  6.         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
  7.         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
  8.         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
  9.         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
  10.         at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)
  11.         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
  12.         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
  13.         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:527)
  14.         at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
  15.         at org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:163)
  16.         ... etc


 
Et donc, j'en déduis que, lors du chargement du dit EJB, il execute la requête ci-dessus, qui est evidemment fausse à cause d'une virgule  :heink:  
ou, peut-être d'un champs manquant. Donc, si quelqu'un a déjà rencontré le problème.  :jap:  
 
De plus, je remercie Mario_ et the real moins moins et je m'excuse du temps que j'ai mis pour partager la solution que  
j'ai trouvée.
De plus, je voudrais savoir s'il existe un topic sur JBOSS ?
 
 

n°1308236
casper78
Posté le 17-02-2006 à 17:15:36  profilanswer
 


Bonjour tout le monde
 
Le problème ci-dessus était du à des "tags" XDoclet foireux.  
Pour être précis , j'utilisait "fk_column" au lieu de "fk-column" ce qui, à mon avis,
gênait mon pauvre JBOSS.
 
Donc, je conseille à ceux qui ont ce problème  
de fausse requête SQL générée par JBOSS, de vérifier tous les tags XDoclet du Bean incréminée
 
Après cette étape, j'obtiens un autre problème beaucoup plus technique:
En effet, mon projet se décompose en 2 fichier EAR.
Or l'un de ces gentils EAR ne fonctionne qu'avec une version 1.1.3 de Log4J ce qui le rend
incompatible avec JBoss qui, charge lors de son démarrage une version beaucoup plus récente.
(Ce qui a pour résultat de m'envoyer des ClassCastException à la figure)  
 
Après quelques recherches sur Google, je vois qu'il possible de jouer avec les "ClassLoader" ce
qui permettrait de charger mon Log4J v1.1.3 que pour le fichier EAR incriminé (en modifiant le fichier  
"jboss-app.xml" de l'EAR).
Je teste, je constate via la console JMX que j'ai bien un loader avec la bonne version du log4j (attaché
au package "org.apache.log4j" ). Mais, par contre, mon Log4j ne trouve le fichier de config "log4j.properties" qui
est indiqué dans le classpath de l'appli.  :cry:  
 
Que faire  :??:  :??:  
 
Donc, si quelqu'un a déjà rencontré le problème, son prix sera le mien .
De toute façon, si je trouve la solution , je le posterai afin que cela puisse profiter à
tout le monde.
 
 
 
 

n°1308276
casper78
Posté le 17-02-2006 à 18:23:15  profilanswer
 


Voici à titre d'information, le fichier jboss-app.xml que j'ai inséré
dans le META-INF de mon EAR
 

Code :
  1. <jboss-app>
  2.    <loader-repository>
  3.       <nomFichierEAR>.ear:loader=billing-portal
  4.       <loader-repository-config>
  5.        java2ParentDelegation=true
  6.       </loader-repository-config>
  7.    </loader-repository>
  8.  
  9. </jboss-app>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Erreur de déploiement sous JBoss

 

Sujets relatifs
Erreur de redéfinition à la compilation.Oracle : erreur ORA-00947 en insertion
Erreur ldErreur dans une boucle "for" :'(
Comment réglé une erreur ?"Create table" Erreur de syntaxe ou violation d'accès
VBA - EXCel erreur formule à l'éxcécution[javascript] erreur de parseInt étrange
[Resolu]Erreur à la fermeture de la balise HTMLErreur de validation CSS
Plus de sujets relatifs à : Erreur de déploiement sous JBoss


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR