enterprise integration with spring integration · enterprise integration with spring integration...

87
Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100

Upload: others

Post on 22-May-2020

78 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Enterprise Integration with Spring Integration

Agim EmruliSpringSource8100

Page 2: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

2

Presentation Goal

Learn how Spring Integration helps to solve common Enterprise Integration challenges

Page 3: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

3

IntegrationChallenges

Page 4: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

4System Failures

Page 5: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

5

IntolerantSystems

Page 6: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Enterprise Integration Patterns

6

Page 7: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Pattern Catalog Overview 7

Message Transformation

Content FIlter

Content

Enricher

Envelope

WrapperMessage

Translator

Normalizer

Claim Check

Message Construction

C

Command

Message

A B

Correlation ID

D

Document

Message

E

Event

Message

Message

Message

Sequence

Request

Reply

Return

Address

Message Routing

Aggregator

Content Based

Router

Composed

Message

Message

FIlter

Message

Router

Recipient List

Process

Manager

Splitter

Page 8: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

8

How does Spring help ?

Page 9: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

9

Spring Big Picture

Inversion of Control

Dependency Injection

Aspect oriented

Programming

Enterprise Service

Abstraction

Page 10: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

10

Focus on Business domain

Page 11: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Spring Powered Applications11

Application

Maintain-able Flexible

RobustTestable

Page 12: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture 12

Page 13: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture 12

Domain Objects

Page 14: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture 12

Database Email Messaging

Domain Objects

Page 15: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture 12

Database Email Messaging

Infrastructure

Domain Objects

Page 16: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture 12

Database Email Messaging

Infrastructure

Domain ObjectsData Access

Page 17: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture 12

Database Email Messaging

Infrastructure

Domain Objects

Services

Data Access

Page 18: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

AOP

Layered Architecture 12

Database Email Messaging

Infrastructure

Domain Objects

Services

Data Access

Page 19: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture13

Spring Application

Page 20: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture13

Spring Application

MVC

Page 21: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture13

Spring Application

RMIMVC

Page 22: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture13

Spring Application

Webservice RMIMVC

Page 23: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture13

Spring Application

Webservice RMIMVC

Batch

Page 24: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Layered Architecture13

Spring Application

Webservice RMIMVC

Batch JMS

Page 25: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Event Driven Architecture14

Event

Framework

Application

Page 26: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Spring JMS Support15

<jms:listener-container transaction-manager="txManager"> <jms:listener ref="orderService" method="order" destination="queue.orders" response-destination="queue.confirmation"/></jms:listener-container>

Page 27: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Spring JMS Support15

<jms:listener-container transaction-manager="txManager"> <jms:listener ref="orderService" method="order" destination="queue.orders" response-destination="queue.confirmation"/></jms:listener-container>

public class OrderService { public OrderConfirmation order(Order o) {..}

}

Page 28: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

16

Introducing Spring Integration

Page 29: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

17

Goals

Page 30: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

18

Reuse ServiceLayer

Page 31: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

19

Incremental Extension

Page 32: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Spring Integration Architecture20

Page 33: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Spring Integration Architecture20

Services

Page 34: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Spring Integration Architecture20

Services

Webservice

Page 35: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Spring Integration Architecture20

Services

Webservice File

Page 36: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Spring Integration Architecture20

Services

Webservice File

Page 37: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Spring Integration Architecture20

Services

Webservice File

Transformer

Page 38: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Spring Integration Architecture20

Services

Webservice

Router

File

Transformer

Page 39: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

21

MessageConstruction

Page 40: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Message Structure22

Message HeaderSequence Number

Sequence SizeExpiration Date

Correlation Identifier

Message Body

C

Command

Message

D

Document

Message

E

Event

Message

Page 41: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Message Interface23

public interface Message<T> {

MessageHeaders getHeaders();

T getPayload();}

Page 42: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

24Message Headers

Page 43: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

24

MessageHeaders headers = message.getHeaders();

String value = headers.get("key", String.class);

Object id = headers.getId();

Long timestamp = headers.getTimestamp();

MessagePriority priority = headers.getPriority();

Message Headers

Page 44: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

25Message Builder

Page 45: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

25

Message<String> message = MessageBuilder.withPayload("test") .setHeader("foo", 123) .setPriority(MessagePriority.HIGHEST) .build();

Message<String> copy = MessageBuilder.fromMessage(message) .setHeader("foo", 456) .setHeaderIfAbsent("bar", 789) .build();

Message Builder

Page 46: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

26Channels And Endpoints

Page 47: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Message Channel27

Message Endpoint

Message Message

ChannelMessage Endpoint

Page 48: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Direct Channels28

Event-Driven

ConsumerMessage Endpoint Channel

Page 49: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Direct Channels28

Event-Driven

ConsumerMessage Endpoint Channel

<channel id="sync-p2p" />

Page 50: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Queue Channel29

Message Endpoint ChannelPolling

Consumer

Page 51: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Queue Channel29

Message Endpoint ChannelPolling

Consumer

<channel id="async-p2p"> <queue capacity="50" /></channel>

Page 52: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Publish-Subscribe Channel30

Message EndpointPublish Subscribe

Channel

Event-Driven

Consumer

Event-Driven

Consumer

Page 53: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Publish-Subscribe Channel30

Message EndpointPublish Subscribe

Channel

Event-Driven

Consumer

Event-Driven

Consumer

<publish-subscribe-channel id="pubsub" />

Page 54: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Priority Channel31

Message Endpoint ChannelPolling

Consumer

Resequencer

Page 55: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Priority Channel31

Message Endpoint ChannelPolling

Consumer

Resequencer

<channel id="priorityChannel"> <priority-queue comparator="someComp" /></channel>

Page 56: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

32Message Transformation

Page 57: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Message Translator33

Channel ChannelMessage Translator

Page 58: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Message Translator33

<transformer input-channel="input" output-channel="output" ref="transformer" method="transform"/>

Channel ChannelMessage Translator

Page 59: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Annotation Based Message Translator34

@MessageEndpointpublic class MessageTransformer{ @Transformer(inputChannel="in",

outputChannel="out") public LoanRequest transform(Loan loan){ return ...; }}

Page 60: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

35Service Activator

Page 61: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

36

Service Activator

Channel

ChannelMessage Endpoint

Service Activator

Message Endpoint

Page 62: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Service Activator37

<channel id="requests"/><channel id="quotes"/>

<service-activator input-channel="requests" ref="loanBroker" method="processRequest" output-channel="quotes"/>

<beans:bean id="loanBroker" class="example.LoanBroker"/>

Page 63: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Annotation Based Service Activator38

@MessageEndpointpublic class LoanBroker {

@ServiceActivator(inputChannel="x", outputChannel="y") public LoanQuote processRequest(

LoanRequest request) { LoanQuote quote ...; return quote; }}

Page 64: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Polling and Transactions39

<service-activator ref="loanBroker" method="processRequest" input-channel="requests" output-channel="quotes"> <poller task-executor="pool1"> <interval-trigger interval="5000"/> <transactional propagation="REQUIRES_NEW"/> </poller></service-activator><pool-executor id="pool1" max-size="25"/><beans:bean id="transactionManager" ... />

Page 65: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

40Message Routing

Page 66: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Content Based Router41

Standard Service

Channel

VIP Service Channel

Channel Content Based Router

Page 67: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

MethodInvokingRouter42

<channel id="even"/>

<channel id="odd"/>

<router ref="parityResolver" input-channel="numbers"/>

Page 68: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

MethodInvokingRouter42

<channel id="even"/>

<channel id="odd"/>

<router ref="parityResolver" input-channel="numbers"/>

@Routerpublic String getParity(int i) { return (i % 2 == 0) ? "even" : "odd";}

Page 69: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

PayloadtypeRouter43

Channel

String Channel

Integer Channel

Content Based Router

Page 70: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

PayloadtypeRouter43

typeMap .put(String.class, stringChannel);typeMap.put(Integer.class, integerChannel);

PayloadTypeRouter router = new PayloadTypeRouter();router.setPayloadTypeChannelMap(typeMap);

router.handleMessage(new StringMessage("test")); router.handleMessage(new GenericMessage(123));

Channel

String Channel

Integer Channel

Content Based Router

Page 71: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

ReceipientListRouter44

Channel

Channel

Recipient ListChannel

Page 72: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

ReceipientListRouter44

channels.add(channel1);channels.add(channel2);

RecipientListRouter router = new RecipientListRouter();router.setChannels(channels);Message<String> message = new StringMessage("test");

router.handleMessage(message);

Channel

Channel

Recipient ListChannel

Page 73: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Splitter And Aggregator45

Channel

ChannelAggregator

Splitter

Page 74: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Splitter And Aggregator46

@Splitterpublic List<OrderItem> splitOrder(PurchaseOrder order, @Header("customerId") String customerId) { // split the purchase order into order items…}

Page 75: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Splitter And Aggregator46

@Splitterpublic List<OrderItem> splitOrder(PurchaseOrder order, @Header("customerId") String customerId) { // split the purchase order into order items…}

@Aggregatorpublic PurchaseOrder aggregateOrder(List<OrderItem> items) { // aggregate the items into a single order object...}

Page 76: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

47

ChannelAdapter

Page 77: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Channel Adapters48

External System ChannelChannel Adapter

Message

Inbound

Page 78: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Channel Adapters48

External System ChannelChannel Adapter

Message

Inbound

External SystemChannel Channel Adapter

Message

Outbound

Page 79: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

File Adapter49

<file:inbound-channel-adapter channel="filesIn" directory="${java.io.tmpdir}/test-input"> <poller max-messages-per-poll="5"> <cron-trigger expression="*/10 * * * * MON-FRI"/> </poller></file:inbound-channel-adapter>

<file:outbound-channel-adapter channel="filesOut" directory="${java.io.tmpdir}/test-output"/>

Page 80: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

JMS Adapter50

<jms:inbound-channel-adapter channel="input" connection-factory="connectionFactory" destination-name="sourceQueueName"/>

<jms:outbound-channel-adapter channel="output" destination="targetQueue"/>

<jms:inbound-gateway request-channel="inRequests" destination="inboundRequestQueue"/>

<jms:outbound-gateway request-channel="outRequests" reply-channel="replies" jms-queue="outQueue"/>

Page 81: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Method Invoking Adapter51

<channel id="channel"/>

<inbound-channel-adapter channel="channel" ref="reader" method="read"> <poller max-messages-per-poll="1"> <interval-trigger interval="1000"/> </poller></inbound-channel-adapter>

<outbound-channel-adapter channel="channel" ref="writer" method="write"/>

Page 82: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Webservice Adapter52

<ws:outbound-gateway uri="http://..." marshaller="someMarshaller" unmarshaller="someMarshaller" request-channel="req" reply-channel="rep"/>

<ws:inbound-gateway request-channel="req" reply-channel="rep" marshaller="someMarshaller" unmarshaller="someMarshaller" />

Page 83: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Other Adapters53

> HTTP> Mail> RMI > springsource.org/extensions

Page 85: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

55

THANK YOU!

Page 87: Enterprise Integration with Spring Integration · Enterprise Integration with Spring Integration Agim Emruli SpringSource 8100. 2 ... System Failures 4. 5 Intolerant Systems. Enterprise

Picture Credits57

http://www.flickr.com/photos/global-jet/2125557004/