Spring Integration Part 1 - Understanding Channels

9

description

This is the first part of an eight part on-line tutorial that will introduce you to Spring Integration and its major components. This session will introduce you at a high level to the main components of a Spring Integration application: message endpoints, messages, and channels.

Transcript of Spring Integration Part 1 - Understanding Channels

Page 1: Spring Integration Part 1 - Understanding Channels

                           Copyright  ©  2014  by  Intertech,  Inc.

Express  Spring  IntegrationUnderstanding  Channels

The  labs  and  additional  learning  tools  for  this  tutorial  can  be  found  on:  

Intertech’s  Blog

Page 2: Spring Integration Part 1 - Understanding Channels

                           Copyright  ©  2014  by  Intertech,  Inc.

Spring  Integration

Producer  (Sender)

Consumer  (Receiver)

Pipe

Message

The  main  components

Page 3: Spring Integration Part 1 - Understanding Channels

                           Copyright  ©  2014  by  Intertech,  Inc.

Consumer  (Receiver)  -­‐/Producer  (Sender)

Spring  Integration  Applications

Producer  (Sender)

Consumer  (Receiver)

Pipe

Producer  (Sender)

Pipe Pipe

Consumer  (Receiver)  -­‐/Producer  (Sender)

PipeConsumer  (Receiver)

Message transformfilter

Page 4: Spring Integration Part 1 - Understanding Channels

                           Copyright  ©  2014  by  Intertech,  Inc.

Messages

                   Message

Header

Payload

Page 5: Spring Integration Part 1 - Understanding Channels

                           Copyright  ©  2014  by  Intertech,  Inc.

Message  Endpoints• Adapters  (connect  your  channel  to  some  other  system)  • Filter  (remove  some  messages  from  channels  based  on  header,  content,  etc.)  • Transformer  (convert  a  message  content  or  structure)  • Enricher  (add  content  to  the  message  header  or  payload)  • Service  activator  (invoke  service  operations  based  on  the  arrival  of  a  message)  • Gateway  (connect  your  channels  without  SI  coupling)

Page 6: Spring Integration Part 1 - Understanding Channels

                           Copyright  ©  2014  by  Intertech,  Inc.

Message  Channels• Two  general  classifications  of  message  channels  

• Pollable  Channel  • Subscribable  Channel  

• While  there  are  many  subtypes,  they  all  implement  at  least  one  of  these  SI  channel  interfaces  • see  http://docs.spring.io/spring-­‐integration/reference/html/messaging-­‐channels-­‐section.html

Page 7: Spring Integration Part 1 - Understanding Channels

                           Copyright  ©  2014  by  Intertech,  Inc.

Pollable  Channels• May  buffer  its  messages    

• Requires  a  queue  to  hold  the  messages  • The  queue  has  a  designated  capacity  

• Waits  for  the  consumer  to  get  the  messages  • Consumers  actively  poll  to  receive  messages  

• Typically  a  point-­‐to-­‐point  channel  • Only  one  receiver  of  a  message  in  the  channel  

• Usually  used  for  sending  information  or  “document”  messages  between  endpoints

Page 8: Spring Integration Part 1 - Understanding Channels

                           Copyright  ©  2014  by  Intertech,  Inc.

Subscribable• Allows  multiple  subscribers  (or  consumers)  to  register  for  its  messages.  • Messages  are  delivered  to  all  registered  subscribers  on  message  arrival  • It  has  to  manage  a  list  or  registry  of  subscribers.  

• Doesn’t  buffer  its  messages  • Usually  used  for  “event”  messages  

• Notifying  the  subscribers  that  something  happened  and  to  take  appropriate  action.

Page 9: Spring Integration Part 1 - Understanding Channels

                           Copyright  ©  2014  by  Intertech,  Inc.

You  are  ready  to  tackle  Lab  1• Lab  1  is  about  getting  to  know  and  understand  Spring  Integration  channels  • You  also  learn  how  to  create  and  configure  a  typical  Spring  Integration  application  in  Eclipse  (using  Maven)  !

If  you’re  viewing  this  presentation  on  SlideShare  you  can  click  the  link  below  to  go  to  the  page  with  links  to  the  first  lab:  Lab  1-­‐Understanding  Channels