|
Publicité | |||||||||||||||||||||
|
|
#1 | ||
|
Membre éprouvé
![]() Inscription : juillet 2007 Messages : 682 ![]() |
Salut !
J'imagine que cette question a déjà été posée mais je n'ai trouvé de response nulle part. A chaque fois, ce sont les paramètres pour JBoss qu'on trouve : Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() ![]() Alexis Moussine-Pouchkine Inscription : janvier 2005 Messages : 1 498 ![]() |
En mettant appserv-rt.jar dans le CLASSPATH, la lecture automatique de jndi.properties permet de ne pas spécifier explicitement ces valeurs.
Les voici quand même: Code :
__________________
http://blogs.sun.com/alexismp |
||
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Inscription : juillet 2007 Messages : 682 ![]() |
Merci pour l'info
|
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : janvier 2009 Messages : 11 ![]() |
1 er choix :
tu fais copier/coller du contenu suivant dans un fichier que tu vas nommer jndi.properties et que tu mettras dans ton root. java.naming.factory.initial = com.sun.enterprise.naming.SerialInitContextFactory java.naming.factory.url.pkgs = com.sun.enterprise.naming java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl #optional. Defaults to localhost. Only needed if web server is running #on a different host than the appserver org.omg.CORBA.ORBInitialHost = localhost #optional. Defaults to 3700. Only needed if target orb port is not 3700. org.omg.CORBA.ORBInitialPort = 3700 ensuite dans le code tu fais appel à ce jndi.properties de la façon suivante : Properties props = new Properties(); props.load(new FileInputStream("jndi.properties")); InitialContext ctx = new InitialContext(props); 2 éme choix : c'est comme a dit notre ami , les developpeurs de Glassfish ont développé pour nous un .jar qui fait appel automatiquement au fichier jndi.properties , dans ce cas tu dois inclure dans ton classpath le jar appserv-rt.jar et ensuite dans ton code tu fais appel au jndi de la façon suivante : InitialContext ctx = new InitialContext(); Bon courage. |
|
|
00
|
|
|
#5 | |||
|
Membre régulier
![]() Inscription : avril 2010 Messages : 262 ![]() |
Je n'ai plus voulu poster un autre post. En fait j'ai le même problème, j'ai suivis tous les conseils dans ce post, mais ça ne marche toujours pas. J'ai créer un projet EJB simple
Citation:
Citation:
Je décide alors de passer par le JNDI, là je suis toutes les instructions données dans ce Post, les deux méthodes, c'est-à-dire avec le fichier jndi.properties sur la racine de mon projet ou alors l'intégration de la bibliothèque appserv-rt.jar dans mon Classpath (de mon projet EJB et même de mon projet Web). Mais ces deux derniers cas me renvoient le message suivant : Citation:
Merci. |
|||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() ![]() Alexis Moussine-Pouchkine Inscription : janvier 2005 Messages : 1 498 ![]() |
Ce n'est pas une bonne idée de passer par JNDI. Je viens de tester avec une simple injection @EJB, tout fonctionne. Qu'y a-t-il dans le log de GlassFish?
__________________
http://blogs.sun.com/alexismp |
|
00
|
|
|
#7 | ||
|
Membre régulier
![]() Inscription : avril 2010 Messages : 262 ![]() |
Dans mon log de GlassFish aucun message ne s'affiche à l'exécution, la seule chose qui se passe lorsque je fait une injection injection @EJB, c'est que la page du Servlet ne s'affiche pas, elle produit un message d'erreur suivant de Glassfish sans aucune sortie dans le fichier log :
Citation:
C'est lors du démarrage que le log affiche le message suisvant : Citation:
Dernière modification par mesken ; 21/03/2011 à 23h49. |
||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() ![]() Alexis Moussine-Pouchkine Inscription : janvier 2005 Messages : 1 498 ![]() |
Peux-tu préciser ton packaging complet?
__________________
http://blogs.sun.com/alexismp |
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : avril 2010 Messages : 262 ![]() |
J'ai télécharché la version zippée de Glassfish et non la version exé. J'ai intallé le plugin dans Eclipse avec succès et j'a ajouter un Server que je fais pointer sur mon répertoire glassfish3/glassfish dézippé.
|
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() ![]() Alexis Moussine-Pouchkine Inscription : janvier 2005 Messages : 1 498 ![]() |
Je parlais du packaging de l'application.
__________________
http://blogs.sun.com/alexismp |
|
00
|
|
|
#11 |
|
Membre régulier
![]() Inscription : avril 2010 Messages : 262 ![]() |
Ah Ok.
1) J'ai un ProjetWeb qui contient : - un package appélé controlGestEcole - un répertoire appélé WEB-INF\vues dans lequel se trouvent toutes mes pages JSP - et la page index.jsp qui est directement sur la racine de WebContent 2) Ensuite j'ai autre ProjetEJB qui contient : - un package hello.service qui contient l'interface Remote HelloService et le EJB HelloServiceBean J'ai enfin inclu le ProjetEJB dans le ProjetWeb en cliquant avec le bouton droit sur le ProjetWeb--->Prorperties--->Java Build Path--->Onglet Projects --->Add---ProjetEJB Merci Dernière modification par mesken ; 22/03/2011 à 21h44. |
|
|
00
|
|
|
#12 | |||||||
|
Membre régulier
![]() Inscription : avril 2010 Messages : 262 ![]() |
Ayant poussé un peu plus loin, je me rend compte que :
1) La méthode JNDI marche avec Jboss mais pas avec Glassfish, mais là n'est pas le problème peut-être je pourrai m'y attardé plus tard. 2) Le véritable problème est que j'ai essayé de créer un seul projet web dans lequel je crée 2 packages (webPackage, ejbPackage). Lorsque j'exécute la même erreur se produit. Dans le même projet, impossible de faire une injection (que ce soit avec Jboss ou Glassfish la même erreur surgit) LE CODE EST LE SUIVANT - EJB Interface simple Code :
Code :
Code :
Citation:
Merci. Dernière modification par mesken ; 24/03/2011 à 01h30. |
|||||||
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() ![]() ![]() Alexis Moussine-Pouchkine Inscription : janvier 2005 Messages : 1 498 ![]() |
Il doit être possible d'avoir du code JNDI portable sur les deux serveurs avec la nouvelle normalisation des noms avec EJB 3.1. Dans GlassFish lors du déploiement d'EJB il y a un message du genre :
INFO: Portable JNDI names for EJB DisplayMessage : Code :
[java:global/MonAppli/DisplayMessage!webPackage.DisplayMessage, java:global/MonAppli/DisplayMessage] Si tu n'as pas vraiment besoin de l'interface distante, tu pourrais simplifier en utilisant la seule classe DisplayMessage et faire une injection en utilisant la classe d'implémentation :
__________________
http://blogs.sun.com/alexismp |
|
00
|
|
|
#14 | |
|
Membre régulier
![]() Inscription : avril 2010 Messages : 262 ![]() |
Je ne comprend pas cette phrase
Citation:
S'il te plait quel sont les étapes que tu suis de ton côté pour que ça marche. De l'installation de l'IDE au déploiement ? Merci |
|
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() ![]() ![]() Alexis Moussine-Pouchkine Inscription : janvier 2005 Messages : 1 498 ![]() |
Si tu mets tout dans un WAR et sans interface ça fonctionne très bien.
Peux-tu partager ton code?
__________________
http://blogs.sun.com/alexismp |
|
00
|
|
|
#16 | |||||||
|
Membre régulier
![]() Inscription : avril 2010 Messages : 262 ![]() |
Mon code est exactement ce que j'ai détaillé ci-dessus sans changement
Interface (Facultatif) Code :
Code :
Code :
Citation:
|
|||||||
|
|
00
|
|
|
#17 |
|
Membre régulier
![]() Inscription : avril 2010 Messages : 262 ![]() |
Ok, là, ça marche quant tous est dan le même projet. Je vais faire un post différent sur l'appel des objet d'un projet externe
Dernière modification par mesken ; 27/03/2011 à 20h24. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com