Précédent   Forum du club des développeurs et IT Pro > Java > Serveurs, conteneurs, et Java EE > Modularisation (OSGi, SCA...)
Modularisation (OSGi, SCA...) Forum d'entraide sur les architectures modulaires à base de composants et services (OSGi, SCA...). Avant de poster -> Les cours OSGi
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 19/09/2012, 15h31   #1
menakikou
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 14
Points : 14
Par défaut [Apache Camel] Splitter en fonction du tableau

Bonjour,

J'ai un petit soucis, je ne sais pas comment mettre en oeuvre cette idée.

J'explique l'idée.

J'ai ce Bean :
Code :
.bean(EclatCCTIBean.class,"eclatCCTI");
Celui ci renvoie:
Code :
ArrayList <ArrayList <ClassA>>
Je voudrai que chacun des éléments de ce tableau se dirige vers un autre Beans qui prend en entrée :
.

Voici un exemple:
Supposons que le premier Bean Renvoie un tableau qui contient 5 des <ArrayList <ClassA>, je souhaiterai que chacun de ces Array rentre dans un autre Bean succésivement.

Je pense que c'est réalisable mais je ne trouve pas assez d'exemple sur le net.

Merci d'avance si quelqu'un a une idée !!
menakikou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2012, 09h56   #2
menakikou
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 14
Points : 14
Par défaut [Apache Camel] Splitter en fonction du tableau

Voila un exemple plus parlant !!!

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
                      public void configure() {
                           from("file:///D:/fileCamel/in?noop=true")
                           .bean(First.class,"First")        
                           .split().method(XX.class,"DO").to("direct:echainement");
 
                           from("direct:echainement").
                           bean(A.class,"Toto").
                           bean(B.class,"Tata").
                           bean(C.class,"Titi").
                           bean(D.class,"Tutu").
                           bean(E.class,"Tyty").
                           to("file:///D:/fileCamel/Sortie?fileName=firstUDK.txt");
 
                           };                           
                      });
Mon split consiste à splitter un tableau de deux dimensions : ArrayList <ArrayList <ClassYYY>> qui va envoyer successivement les tableaux un à un .
Le problème étant lors de l’exécution dans l’hypothèse d’avoir 5 éléments dans mon tableau à deux dimensions initiales, l’enchainement se fait ainsi { A,A,,A,A,A,B,C,D,E}

Or je souhaiterai que pour chaque élément du tableau , l’enchainement puisse se faire en entier de cette façon {A,B,C,D,E},{A,B,C,D,E},{A,B,C,D,E},{A,B,C,D,E},{A,B,C,D,E}.

une idée ? Merci d'avance
menakikou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2013, 15h53   #3
sekaijin
Expert Confirmé Sénior
 
Avatar de sekaijin
 
Homme
Urbaniste
Inscription : juillet 2004
Messages : 2 124
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 49
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 2 124
Points : 5 054
Points : 5 054
je réponds très tardivement mais je ne comprends pas le problème.

tu as un tableau de tableau (ce n'est pas la même chose qu'un tableau à deux dimention)

la méthode du spliter est une simple méthode java qui retourne une liste d'objet (iterable ou array)
donc tu fait un deux boucle for tu parcours tous les élements tu as donc toute libertée pour construire une liste d'objets à ta guise

tout cela n'a rien à voir avec camel
A+JYT
sekaijin est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h31.


 
 
 
 
Partenaires

Hébergement Web