Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Plateformes réactives et architectures modulaires Java Discussion :

[Apache Camel] Splitter en fonction du tableau


Sujet :

Plateformes réactives et architectures modulaires Java

  1. #1
    Membre du Club
    [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 :Sélectionner tout -Visualiser dans une fenêtre à part
    .bean(EclatCCTIBean.class,"eclatCCTI");


    Celui ci renvoie:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    ArrayList <ArrayList <ClassA>>


    Je voudrai que chacun des éléments de ce tableau se dirige vers un autre Beans qui prend en entrée :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    ArrayList <ClassA>
    .

    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 !!

  2. #2
    Membre du Club
    [Apache Camel] Splitter en fonction du tableau
    Voila un exemple plus parlant !!!

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    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

  3. #3
    Expert éminent
    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