Question

J'ai des difficultés d'emballage ma tête autour du concept.

Je suis en train de mettre en place un point final qui écoute sur un port tcp pour les messages entrants dans un format propriétaire, qui serait alors transformer le message et ont chameau prendre en charge la transmission et le routage.

Ai-je bien compris que le producteur est responsable de l'envoi de messages dans le Endpoint et le Consumer les reçoit de ce point final?

Lors de l'étude des interfaces que je ne pouvais pas comprendre le flux de messages entre ces objets, en particulier de la part des consommateurs. Consumer définit uniquement les méthodes de start() et stop() ...

Lors de la mise en place d'un test sur une mise en œuvre du squelette, Camel invoqué createProducer() sur le point de terminaison et process() sur l'objet producteur. Après cela, il est revenu, swithout quoi que ce soit à faire avec le consommateur ou le processeur associé.

Quelqu'un pourrait-il me diriger dans la bonne direction?

Était-ce utile?

La solution 2

J'ai finalement pensé à elle en regardant le composant Stream.

avère que je fait l'erreur de penser au point final comme quelque chose de central à travers lequel tout doit aller.

La réponse simple est que le consommateur reçoit des données d'un système externe (écoute sur un socket serveur dans mon cas) et le producteur envoie des données au système externe.

Depuis mon point de terminaison est en lecture seule (il ne sera pas utilisé comme la destination finale du processus de routage Camel), je ne ai pas vraiment besoin d'un producteur (il devrait jeter un RuntimeException si le système essaie toujours de le faire en raison d'une mauvaise configuration ). Un exemple de montage serait le point final de chameau atome -., Vous pouvez lire les flux, mais (la version 1.6.0) vous ne pouvez pas publier un

De même, vous avez seulement besoin d'un producteur pour un point de terminaison d'écriture seule qui ne reçoit pas de données d'un système externe (exploitation forestière par exemple).

Autres conseils

Il est important de se rappeler qu'un Endpoint, créé par un Component (à savoir Endpoint usine), peut s'asseoir à soit fin d'un Route Camel. Si vous mettez le Component au début d'une route alors il doit y avoir une mise en œuvre de la partie Consumer du Component . Cela fait le travail de conversion de l'entrée spécifique / demande (comme une requête HTTP) en quelque chose de générique - qui peut se déplacer vers le bas Route - un Exchange Camel. Alors que si vous mettez le Component à la fin d'un itinéraire alors vous devez avoir une mise en œuvre d'un Producer. Producteur fait le travail de prendre la Bourse à partir de la fin d'une itinéraire et la transformer en quelque chose de spécifique (comme un message JMS).

Je trouve la documentation Fuse ESB pour être mieux (en général) que le site Apache Camel . De la la page Fuse ESB Composant :

  

points de terminaison consommateurs consomment des demandes. Ils apparaissent toujours au début   d'une route et ils encapsulent le code responsable de la réception   les demandes entrantes et sortantes. dispatching réponses

     

critères d'évaluation de producteurs produire des demandes. Ils apparaissent toujours à la fin de   une route et ils encapsulent le code responsable de l'expédition   les requêtes sortantes et recevoir les réponses reçues.


entrer image description ici

A Producteur étend processeur qui signifie qu'il a un procédé de processus.

Consultez le chapitre 1 gratuitement dans le livre Camel en action qui raconte un peu plus sur ces concepts Camel. http://www.manning.com/ibsen/

Et ce tutoriel est aussi excellent car il introduit ces concepts dans un rythme régulier http://camel.apache.org/tutorial-example-reportincident.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top