Apache Camel: czy procesory i fasola służą temu samemu celowi?

Wygląda na to, że oba służą temu samemu celowi. Czy jest jakaś różnica, która czyni jedną użyteczną w pewnych sytuacjach, a nie drugą ?

Author: redben, 2011-05-19

2 answers

W praktyce są bardzo podobne, ale procesor jest bardziej ograniczony niż fasola. Generalnie używam procesora do prostych przypadków użycia, które po prostu współdziałają z wymianą. Ponadto procesory liniowe są świetnym sposobem interakcji bez konieczności tworzenia osobnej klasy.

Fasola zapewnia większą elastyczność, a także wspiera prawdziwe podejście POJO. Pozwala to na łatwiejszą integrację z istniejącymi interfejsami API (wystarczy przekonwertować wejścia / wyjścia do dopasowania, itp.).

Fasola zapewnij również doskonałe funkcje / elastyczność w odniesieniu do integracji routingu wielbłąda/EIP, w tym...

  • Bogaty zestaw wiązań , które pozwalają na szybkie powiązanie danych z wymiany do atrybutów metody bean, itp.

  • POJO /produkcja pozwala na interakcję z punktami końcowymi w sposób wielokrotnego użytku

  • Używane jako wyrażenia / predykaty (dla implementacji POJO EIP...filtry itp.)

 22
Author: Ben ODay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-10 18:00:41

Sprowadza się do kwestii preferencji, powiedziałbym. Generalnie wybieram podejście POJO, więc zacząłem używać fasoli do przetwarzania, ale z czasem powoli przeniosłem się do korzystania z procesorów.

Czułem ból w następujących przypadkach:

  • Metody Bean z więcej niż jednym parametrem
  • [[5]}próbuje pobrać dane z exchange params / nagłówków wiadomości

Wiem, że Wielbłąd 2.8 eliminuje ból tych przypadków, dopuszczając Przypisy w Twojej fasoli który poradnik Jak nazwać metody Twojej fasoli. Nie chciałem iść tą trasą. czułem się źle, wkładając adnotacje wielbłąda do fasoli, która nie powinna przejmować się tym, że jest nazywana przez wielbłąda.

W końcu stworzyliśmy bez adnotacji, klienta-agnostic bean i bardzo cienki procesor, który ciągnie wszystko, czego potrzebuje od camel i przekazuje go do tej fasoli.

Tylko moje 2 grosze-trasa fasolowa naprawdę nie jest zła - poradzi sobie równie dobrze (esp w 2.8)

EDIT

Wprowadzono wiele ulepszeń w używaniu Pojo do przetwarzania wiadomości od czasu tego napisania - ta odpowiedź może już nie mieć zastosowania.

 9
Author: Roy Truelove,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-06 11:40:24