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

  FORUM HardWare.fr
  Programmation

  [J2EE/EJB]Détecter la présence d'un bean

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[J2EE/EJB]Détecter la présence d'un bean

n°168801
redant
Posté le 01-07-2002 à 11:24:22  profilanswer
 

Avant tout je tiens à préciser que je débute totalement avec EJB.  
 
Voici mon problème:  
 
J'ai un container EJB qui contient un session bean et de 0 à plusieurs entity beans.  
 
Comment faire pour que mon session bean connaisse la liste des noms des entity beans du container et puisse y accéder ?

mood
Publicité
Posté le 01-07-2002 à 11:24:22  profilanswer
 

n°168803
darklord
You're welcome
Posté le 01-07-2002 à 11:25:27  profilanswer
 

que veux tu dire par nom ? Qu'est ce que tu veux faire exactement?


---------------
Just because you feel good does not make you right
n°168815
redant
Posté le 01-07-2002 à 11:30:31  profilanswer
 

en fait, je cherche à récupérer les interfaces de ces composants pour pouvoir appeler leurs méthodes

n°168819
darklord
You're welcome
Posté le 01-07-2002 à 11:33:36  profilanswer
 

bin oui mais pour cela tu dois avoir l'entrée JNDI et faire un lookup dessus. Je ne vois absolument pas l'intéret de récupérer tout les beans comme ca sans raison (surtout qu'ils doivent correspondre à une interface puisque tu veux appeller une certaine méthode dessus !
 
En fait tu as des entitybeans et tu voudrais appeler une méthode sur TOUTES les instances de ce bean particulier (en gros, tu as un entity bean client et tu voudrais appeller setMachin() sur tout tes clients présents dans ta DB)?
 
Bin il suffit de déclarer un search genre findAll() dans ton interface mais soi conscient que ca peut fouttre ton système à terre si tu as trop de données.


---------------
Just because you feel good does not make you right
n°168837
redant
Posté le 01-07-2002 à 11:49:21  profilanswer
 

Voici le problème dans sa globalité:
 
J'ai un serveur qui fait tourner différents SGBD. Chaque base du serveur contient des fichiers binaires (dans des champs BLOB) que l'on cherche à extraire.
 
Le but est de développer un EJB générique permettant d'extraire les fichiers binaires d'une base quelquonque et d'y associer pour chaque SGBD différent un EJB contenant le driver JDBC de la base à interroger.
 
L'EJB générique doit donc chercher quelles sont les SGBD du serveur ce qui revient à chercher les EJB du container (qui contienent les drivers JDBC corespondants).
 
Je sais pas si c'est clair, mais c'est ce qu'on m'a demandé de faire.
 
 
 

n°168859
darklord
You're welcome
Posté le 01-07-2002 à 12:07:23  profilanswer
 

ca l'est mais pour récupérer l'interface d'un bean il te faut son entrée JNDI. Donc tu peux bien sur faire un bean générique et ensuite créer X instances avec X fichiers de configuration et dans chaque fichier de configuration les params propres à chaque SGBD.  
 
Mais ensuite tu dois déclarer (deployer) ces beans dans ton app serveur et leur donner une entrée JNDI. Donc voilà. Maintenant to session bean peut être lui aussi générique sans trop de difficulté mais il faut bien à un moment ou à un autre les déclarer dans l'EJB container ...


---------------
Just because you feel good does not make you right
n°168860
darklord
You're welcome
Posté le 01-07-2002 à 12:08:15  profilanswer
 

ceci dit je ne suis pas sur qu'un entity bean soit la bonne solution pour une exctraction de doonées. Y a t il une session avec le front end ou bien est ce juste des appels d'extractions purs et simples.


---------------
Just because you feel good does not make you right
n°168872
redant
Posté le 01-07-2002 à 12:18:41  profilanswer
 


 
l'EJB d'extraction n'est pas en entity mais en session,
ce sont les composants EJB qui contienent les drivers qui sont en entity beans.

n°168925
benou
Posté le 01-07-2002 à 13:47:35  profilanswer
 

si je me trompe pas JNDI est un registre sous forme d'arbre. Pourquoi tu n'enregistrerais pas tous tes sessions bean d'extraction dans une des branches ?
Pour ton bean générique tu n'aurais qu'à récupérer toutes les feuilles de cette branche pour retrouver tous les SGBD que tu gère ...

n°168931
redant
Posté le 01-07-2002 à 14:11:32  profilanswer
 

benou:  
Ta solution doit pouvoir marcher mais j'en ai trouvé une autre qui me convient: je déploie un autre EJB entity qui contient la liste des EJB qui contienent les drivers JDBC.
 
Dès qu'un SGBD est ajouté ou retiré la liste est mise à jour.
 
Ainsi mon EJB générique récupère la liste et peut connaître tous les SGBD dispos pour l'extraction.

mood
Publicité
Posté le 01-07-2002 à 14:11:32  profilanswer
 

n°169081
redant
Posté le 01-07-2002 à 17:02:01  profilanswer
 

J'ai un nouveau problème:
 
Comment faire pour récupérer l'interface home d'un EJB dont on ne connaît pas le nom ?
 
En effet je peux récupérer le nom de l'EJB qui contient le driver dans mon composant qui liste les drivers , mais il sera dans une variable.
Je ne pourrais donc pas caster l'interface récupérée.
Des idées ?


Message édité par redant le 01-07-2002 à 17:02:29
n°169328
benou
Posté le 01-07-2002 à 23:28:54  profilanswer
 

tu dois les caster en une interface commune à tous tes beans, non ? je vois pas le problème ...

n°174258
redant
Posté le 10-07-2002 à 12:11:31  profilanswer
 

Citation :


 
si je me trompe pas JNDI est un registre sous forme d'arbre. Pourquoi tu n'enregistrerais pas tous tes sessions bean d'extraction dans une des branches ?  
Pour ton bean générique tu n'aurais qu'à récupérer toutes les feuilles de cette branche pour retrouver tous les SGBD que tu gère ...
 


 
Je crois finalement que c'est la meilleure méthode, par contre comment utiliser JNDI pour des recherches avec filtres dans le genre chercher tous les beans dont l'entrée JNDI commence par Driver ? ou alors chercher tous les beans d'une branche ?
 
Je pensais associer javax.naming.Context.lookup() avec FilterName mais comment faire pour obtenir un tableau de références au lieu d'un seul résultat ?


Message édité par redant le 10-07-2002 à 12:12:14
n°174552
redant
Posté le 10-07-2002 à 17:07:28  profilanswer
 

up
 :bounce:


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

  [J2EE/EJB]Détecter la présence d'un bean

 

Sujets relatifs
Indicateur de présence Msn et Yahoo[EJB] Deploiement sous Pramati
[PHP] Comment faire pour detecter un user ?Detecter une cellule sous excel ?
[C/C++] detecter la modification d'un fichierdetecter un onclick sur mon document web n'importe ou!!
Détecter si la version du navagateur du client est OK pour mon siteDétecter si certains fichiers ont été inscrits dans le registre ??
[c++] Comment detecter CDROM ou DVD ???[PHP] comment detecter que l'utilisateur à actualiser la page
Plus de sujets relatifs à : [J2EE/EJB]Détecter la présence d'un bean


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