2012-06-18 22 views
7

Bir ESB benzeri Apache Camel'de, hangi mekanizma, son noktadan bitiş noktasına kadar olan yol boyunca iletilerin ("iletme") (iletilmesi/itilmesi) aslında?Apache Deve: Hangi mesajlar geçiyor?

Deve RouteBuilder sadece Endpoints ve Routes grafiğini oluşturmak ve hedef/sonraki Endpoint belli Endpoint ziyaret sonrasında bir mesaj geçmek olduğunu öğrenmek veya Endpoints kendileri sahip olduğu ileti için bir sonraki hedef olduğunu bilmek yapmak mu işlenmiş.

iki şekilde de, kafam karıştı:

  • o sistem üzerinden mesajların "akış" bilir RouteBuilder, o zaman bu RouteBuilder zaman için Endpoint A iş mantığına bilmesi gerekir ise should vs Endpoint C numaralı mesajı iletin, ancak tüm Camel örneklerinde bu iş mantığının olmadığını görüyorum; ve
  • O, vb onları birlikte Endpoints kendileri çiftlerin "akış" iş mantığı bu tür koyarak ve SOA/ESB/EIP temel ilkelerinden bazıları defeats olmak ben önermek

cevap

8

örneğin bakınız deve, her düğümün bir Deve son nokta/işlemci olduğu ve her kenarın iki uç nokta (bir kaynak ve bir hedef) arasındaki bir yol olduğu saf bir grafik oluşturduğuna inanır. Bu grafik, API'sini çağırdığınızda RouteBuilder'un tam olarak ne oluşturduğudur. Bir Camel rotası için start()'a gittiğinizde, grafik büyük olasılıkla doğrulanır ve çalıştırılması gereken bir Runnable s dizisine dönüştürülür ve bu Runnable s işlemlerini gerçekleştirmek için muhtemelen bir tür özel Executor veya iplik yönetimi kullanır. Bu nedenle, Runnable s (iletilerin geldiği haliyle işlemcileri işleyen işlemcilerin) yürütülmesi, bu özel Executor tarafından işlenir. Bu, görevlerin sıraya girme sırası, RouteBuilder tarafından oluşturulan grafiğin kapsayıcı yapısı tarafından yönlendirilse de, "iletileri iletmeye devam eden" mekanizmadır.

7

görünüyor Bu QA'yı ilk önce What exactly is Apache Camel? ... ve Apache Camel hakkında daha fazla bilgi için başvurduğu bağlantıları okuyun.

İş mantığı, Java çekirdeği (POJO) gibi herhangi bir mantık olabilir. Ve Deve, iş mantığınıza şansa bağlı bir şekilde erişmenizi sağlar. Bu bağlantılar kaput I altında