|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
Bonjour,
Je suis nouveau au monde CORBA. Actuellement, je veux porter une application en JAVA qui utilise le CORBA de Sun, avec l'ancienne version d'adaptateur d'objets le BOA, vers celle de JacORB qui utilise le POA. Pour faire une premier tester j'ai lance l'appli sans modifier le code (et sans regenerer les IDL) mais en remplacant seulement les proprietes de ORBClass et ORBSingletonClass par celles de JacORB.... et ca a marche!!! Je me demande alors si cela est suffisant pour utiliser JacORB et quel est l'interet d'utiliser le POA (a part le fait que ca soit standardisé) : performance? Mon appli peut en fait communiquer avec elle meme (deux instances communiquant via Corba). En faisant le test de com entre les deux, j'ai eu des NO_MEMORY exception et "resource limt reached server side exception" avec JacORB. est ce que cela est du au fait que j'utilise pas le POA ou bien ca n'a rien a avoir (probleme de config plutot) ? Merci bcp de votre aide! |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
Je reformule ma question: Est il possible d'utiliser Jacorb 2.3, en specifiant juste le ORBClass et ORBClassSingleton correspondants, avec un code genere par l'idlj de Sun selon l'ancienne version "idlj -odlImplBase", celle qui utilise la BOA? Sachant que JacORB 2.3 utilise la POA comme OA. J'ai fais un test, ca marche mais j'ai quelque problemes lies au transfert de gros jeux de donnees et je ne sais pas si c'est a cause d'une config dans JacORB (laquelle?) ou bien a cause du fait d'utiliser JacORB sur une BOA?
Merci. |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Julien EnochArchitecte technique Inscription : septembre 2006 Messages : 219 ![]() |
Bonjour,
Il est en général fortement conseillé d'utiliser le compilateur IDL fournit avec l'ORB qu'on utilise (JacORB dans ton cas). Je suis même étonné que ton appli marche avec JacORB et du code généré par idlj, en ImplBase qui plus est ! (perso, je n'ai jamais essayé) Es-tu sûr que c'est bien JacORB qui est utilisé, et pas l'ORB Sun ? Lorsque tu actives les traces debug de JacORB (-Djacorb.log.default.verbosity=4), vois-tu des traces de JacORB indiquant qu'il envoie lui-même les requêtes CORBA ? Tu verras peut-être par la même occasion des informations intéressantes concernant les exceptions NO_MEMORY. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
Bonjour,
Ah oui je suis sur. En effet j'ai les logs JacORB qui s'affichent a l'initialisation avec la version de Jacorb utilisee. Pour la generation de l'IDL, je pensais que c'est standardisé et je ne suis pas trop surpris que ca marche. Ce qui me suprend surtout est que le code generé (avec l'option de compile -oldImpl) ne genere pas de POA ou POA_tie (Sun le maintien pour supporter les implementation avec BOA avant standardisation des OA) et portant JacORB utilise (que) les POA et ca marche. Enfin en gros ca marche, mais avec un transfert de grosses donnees ca ne marche qu'avec le Corba de Sun et pas JacORB. Mais la encore cela peut etre due a une config de JacORB et pas le fait d'utiliser des POA ou pas. D'ou ma question est ce qu'on peut utiliser une ORBClass et singleton de JacORB sur du code qui a ete generé par un CORBA base sur le BOA? Et comment l'expliquer? Pour faire le test, c'est simple: pour une application utilisant que des BOA, juste passez les arguments -DORBClass et -DORBSingletonClass qui pointent vers ceux de JacORB. Par ailleurs le compilo IDL de JacORB a des bugs (il n'accepte pas un argument d'une methode avec le meme nom que son type meme avec des maj/miniscules differents). C'est pas grave si je commence de nouvelles IDL mais porter des anciennes, c'est plus genant. J'ai compare ce que genere les deux JacORB et Sun (version recente CORBA de Sun base aussi sur le POA) et ca se ressemble bcp. cela dit je suis d'accord, c'est assez complique comme ca, et il vaut mieux utiliser le meme IDL que l'ORB, ca enleve au moins une zone de risque. |
|
|
00
|
|
|
#5 | ||||
|
Membre éclairé
![]() Julien EnochArchitecte technique Inscription : septembre 2006 Messages : 219 ![]() |
Citation:
Citation:
L'option -odlImplBase d'idlj fait générer du code pour le BOA et non plus pour le POA. Il est donc normal de ne plus avoir de classe *POA et *POA_tie. Citation:
Citation:
Le langage IDL ne distingue pas les majuscules et les minuscules, car il peut y avoir des langages de mapping qui ne les distingue pas non plus (ex: Fortran, Cobol). Au contraire, c'est plutôt un bug d'idlj de distinguer les 2. |
||||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
OK, c'est clair.
Merci beaucoup.
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com