2009-04-08 9 views
3

Je n'ai pas été capable de trouver des exemples du fonctionnement de RendezvousChannel dans Spring Integration. Est-ce que quelqu'un connaît des ressources? J'ai lu que RendezvousChannel est utile pour adapter les clients de demande/réponse à la messagerie asynchrone dans Spring Integration.Spring Integration: Comment fonctionne RendezvousChannel?

Répondre

5

RendezvousChannel étend QueueChannel et présente le même comportement:

  • de lecture à partir des blocs de canaux jusqu'à ce qu'un message est disponible ou un délai d'attente se produit.
  • L'écriture dans les blocs de canaux jusqu'à ce que la capacité de la file d'attente permette l'envoi d'un autre message ou d'un dépassement de délai.

interne cependant, RendezvousChannel utilise une capacité de en liaison avec un SynchronousQueue. Par conséquent, les expéditeurs bloquent jusqu'à ce que les destinataires aient fini, eh bien, recevant et vice versa, établissant fondamentalement la communication synchrone.

Comme pour les exemples, je ne pense pas qu'il y en ait encore.

Si vous voulez avoir une idée de la façon dont RendezvousChannel peut être utilisé comme canal de réponse temporaire pour implémenter des scénarios de demande/réponse (comme indiqué dans le reference documentation spring channel-implementations, section 4.1.2), regardez le code source du sendAndReceive méthode de MessageChannelTemplate. Celui-là utilise l'implémentation PollableChannel en interne, mais le modèle pourrait être facilement transféré RendezvousChannel.

Questions connexes