2011-05-19 15 views

Respuesta

22

En la práctica, son muy similares, pero un procesador es más limitado que un frijol. Generalmente utilizo un procesador para casos de uso simple que simplemente interactúan con Exchange. Además, inline processors son una gran manera de interactuar sin tener que crear una clase separada.

Los frijoles proporcionan más flexibilidad y también son compatibles con un verdadero enfoque POJO. Esto le permite integrarse más fácilmente con las API existentes (solo necesita convertir las entradas/salidas para que coincidan, etc.).

frijoles también proporcionan grandes características/flexibilidad con respecto a camello enrutamiento/integración EIP, incluyendo ...

  • rico conjunto de bindings que le permiten enlazar rápidamente los datos desde la central a los atributos de un grano método, etc.

  • POJO consuming/producing te permiten interactuar con los puntos finales de una manera reutilizable

  • used as expressions/predicates (para la implementación POJO EIP ... filtros, etc.)

9

Se reduce a una cuestión de preferencia, diría yo. En general, opto por el enfoque de POJO y por eso comencé a usar frijoles para hacer mi procesamiento, pero con el tiempo me he movido lentamente a usar procesadores.

que sentía dolor en los siguientes casos:

  • grano de métodos con más de un parámetro
  • Tratando de obtener los datos de los parametros de cambio/el mensaje cabeceras de

sé que Camel 2.8 elimina parte del dolor de estos casos al permitir annotations in your bean que guía a Camel sobre cómo llamar a los métodos de su frijol. No quería ir por esta ruta, me sentí mal al poner anotaciones de Camel en un frijol que no debería preocuparme de que lo llame Camel.

Al final, creamos un frijol sin anotaciones, independiente del cliente, y un procesador muy delgado que extrae todo lo que necesita del camello y lo pasa a ese frijol.

Sólo mi 2 centavos - la ruta de frijol en realidad no es una mala - que va a hacer el trabajo igual de bien (especialmente en 2,8)

EDITAR

se han hecho muchas mejoras

Para el uso de POJOs por parte de camello para procesar mensajes desde que se escribió esto, esta respuesta ya no es aplicable.

Cuestiones relacionadas