Bonsoir à tous,
Je suis entrain de travailler sur un projet en Java avec Corba + JMS. il faut que je crée un serveur et un client qui peuvent se communiquer via Corba, et tous les message sont passés par JMS.
Voilà le fichier IDL:
Donc au début, le serveur va juste instancier l'interface {Service}, et le mettre dans le service nommage {tnameserv} ou {orbd}, après le client peut récupérer {Service} depuis {tnameserv} et créer de nouveaux {channels} et poster des message dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 struct Event{ Any data; }; interface Channel{ postEvent(in Event); }; interface Service{ Channel createChannel(in string name); }
Le problème est que comment peuvent les autres clients accéder aux {channels} qui sont créés par le premier client ? Comment créer dynamiquement de nouvels objets Corba, et les mettre en service ?
Dans la méthode {createChannel}, j'ai récupéré le ORB et le POA du serveur avec lesquels j'ai pu mettre le nouveau {Channel} dans {tnameserv}, et un autre client cherche directement le nouveau {Channel} dans {tnameserv}, mais ça a pas fonctionné.
Chaque fois quand je poste un message, j'ai un {MessageFormatException}, mais tous les entité Corba qui sont dérivées de la classe IDLEntity sont sérializables, non?
Donc je vois pas trop où est le problème. Est-ce que quelqu'un a une idée?
Merci d'avance.
Partager