Uploaded by Belli Ahmed

SpringOne2015-GaryRussell-AppliedSpringIntegrationSpringAMQPandRabbitMQinSpringXD

advertisement
SPRINGONE2GX
WASHINGTON, DC
Applied Spring Integration, Spring
AMQP, RabbitMQ in Spring XD
Gary P. Russell
@gprussell
garyrussell
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Safe Harbor Statement
The following is intended to outline the general direction of Pivotal's offerings. It is
intended for information purposes only and may not be incorporated into any
contract. Any information regarding pre-release of Pivotal offerings, future updates
or other planned modifications is subject to ongoing evaluation by Pivotal and is
subject to change. This information is provided without warranty or any kind,
express or implied, and is not a commitment to deliver any material, code, or
functionality, and should not be relied upon in making purchasing decisions
regarding Pivotal's offerings. These purchasing decisions should only be based on
features currently available. The development, release, and timing of any features
or functionality described for Pivotal's offerings in this presentation remain at the
sole discretion of Pivotal. Pivotal has no obligation to update forward looking
information in this presentation.
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
2
XD Source
•
Typically an inbound channel adapter, wired to a channel ‘output’
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
3
XD Processor
•
‘input’ and ‘output’ channels and some processing endpoint(s)
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
4
XD Sink
•
Typically an outbound channel adapter, wired to a channel ‘input’
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
5
Wired Together into a Stream
http | transform —expression=payload.toUpperCase() | log
MessageBus
In today’s talk, we are going to discuss the module wiring - how modules are
wired together with a MessageBus and, in particular the RabbitMessageBus,
demonstrating how we leverage Spring Integration and the Spring AMQP
project and RabbitMQ.
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
6
Key Methods
public interface MessageBus {
void bindConsumer(String name, MessageChannel
moduleInputChannel, Properties properties);
void bindProducer(String name, MessageChannel
moduleOutputChannel, Properties properties);
...
}
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
7
Bus Properties
xd:
messagebus:
rabbit:
default:
...
autoBindDLQ:
false
# retry, batching, compression, concurrency, prefetch etc
...
durableSubscription:
false
...
republishToDLQ:
false
# When false, normal rabbitmq dlq processing;
...
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
8
Let’s See it in Action…
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
9
`
@springcentral
Spring.io/video
https://github.com/spring-projects/spring-integration/blob/master/
CONTRIBUTING.md
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
10
Download