chcę miećwielbłąd Java DSL Choice w wyborze
_ from(A)
_ .split()...
_ .choice() //Choice 1
_ .when(predicate)
_ .process()
_ .choice() // Choice 2
_ .when(x)
_ .to(X)
_ .otherwise()
_ .to(Y)
_ .end() // to terminate inner choice
_ .endchoice() // tell camel we're back in the outer-choice - gets exception
_ .otherwise() // Choice 1
_ .to(Z)
_ .end()
ale otrzymuję wyjątek czasu wykonywania na endChoice()
java.lang.ClassCastException: org.apache.camel.model.SplitDefinition cannot be cast to org.apache.camel.model.ChoiceDefinition
otrzymuję błąd kompilacji czas bez niego
I podejrzany koniec() kończy się wewnętrznym i zewnętrznym wyborem, chcę tylko, aby zakończył ten wewnętrzny.
niezłożenie na koniec() sprawia, że traktuje drugi w inny sposób() jako rozszerzenie wewnętrznego wyboru. Który nie jest.
Znalazłem obejście, wstawiając do niego drugi wybór w podpowiedzi i "bezpośredni: SUB_ROUTE", ale wolałbym użyć prostej struktury, którą opisałem powyżej, jeśli mógłbym. Czy istnieje sposób na dokonanie Wyborów w Wybraniach, czy jest to tylko ograniczenie Java DSL?
Myślałem, że endChoice() zakończył tylko jedną gałąź wyboru i koniec() zakończył całą strukturę. Spróbuję tego. –
hmm, wypróbowałem to i wszystko działało dobrze. domyślam się, że nie rozumiem endChoice() –
proszę przesłać kod rozwiązania dla odniesienia – TecHunter