Erreur de déploiement d'EAR sous Weblogic 8.1 - Java - Programmation
Marsh Posté le 19-02-2005 à 00:03:51
ejbc est le "compilateur" d'EJB de weblogic
Un EJB de base de type Session Stateless ou Stateful est composé de 2 interfaces (home et remote) , d'une classe de bean, d'un descripteur normalisé ejb-jar.xml et d'un descripteur spécifique ici weblogic-ejb-jar.xml. Le tout packagé dans un jar.
Si pour un développeur le travail de dev d'un EJB s'arrête là, le serveur d'EJB a encore du boulot pour pouvoir le déployer. Il doit générer du code et le compiler notamment pour obtenir les stubs et les skeletons nécessaires pour que l'EJB puisse être utilisé à distance via RMI. Mais pour que cela marche il faut que l'EJB soit cohérent.
La plupart des IDE sont capables de générer et compiler toutes ces classes lors de la générations des EJB ce qui permet de se rendre compte d'un problème avant le déploiement sur le serveur.
donne nous l'erreur complète parce que là c'est un peu juste pour voir ce qui pose problème
Marsh Posté le 21-02-2005 à 14:04:16
Ca marche : j'ai trouvé l'erreur !!
J'écris donc ce message afin que cela puisse un jour servir à quelqu'un.
L'installation de mon bien aimé weblogic se composait d'un serveur d'admin, d'un "node manager" et deux instances de serveurs (serv1 et serv2).
En farfouillant dans les logs de l'un de mes serveurs (serv1 en l'occurence), j'ai trouvé l'erreur suivante
"java.io.IOException: Not enough space
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:52)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:566)
at java.lang.Runtime.exec(Runtime.java:491)
at java.lang.Runtime.exec(Runtime.java:457)
at weblogic.utils.Executable.exec(Executable.java:227)
at weblogic.utils.Executable.exec(Executable.java:156)
at weblogic.utils.Executable.exec(Executable.java:142)
at weblogic.utils.compiler.CompilerInvoker.execCompiler(CompilerInvoker.java:249)
at weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.java:428)
at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:329)
at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:337)
at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:270)
at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
at weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)"
Conclusion : pas assez de RAM
Donc, le conseil (si cela en est un) est de regarder les logs de tous les serveurs.
Pour les serveurs gérés par un "nodemanager", il suffit d'aller dans le répertoires <rep>/weblogic81/common/nodemanager/<nom du serveur>
Voilà, je remercie Spiman pour son aide
Marsh Posté le 18-02-2005 à 12:05:00
Bonjour tout le monde
En essayant de déployer des EAR sous WebLogic, j'obtiens l'erreur suivante
à laquelle je ne comprends absolument rien. (En effet, je suis encore débutant dans l'administration de WebLogic) :
Compiler failed executable.exec
at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:274)
at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
J'en appelle aux bonnes volontés qui pourront m'aider
Merci d'avance