From 0aa84e37f20e42172b80f04396eda431d743e01c Mon Sep 17 00:00:00 2001 From: adkm Date: Tue, 17 Oct 2017 12:42:41 +0200 Subject: [PATCH] #173 Pattern description --- eip-splitter/README.md | 12 ++++++++++++ eip-splitter/etc/sequencer.gif | Bin 0 -> 2298 bytes 2 files changed, 12 insertions(+) create mode 100644 eip-splitter/etc/sequencer.gif diff --git a/eip-splitter/README.md b/eip-splitter/README.md index 92ade7cb4..b59147504 100644 --- a/eip-splitter/README.md +++ b/eip-splitter/README.md @@ -11,10 +11,22 @@ tags: --- ## Intent +It is very common in integration systems that incoming messages consists of many items bundled together. For example +an invoice document contains multiple invoice lines describing transaction (quantity, name of provided +service/sold goods, price etc.). Such bundled messages may not be accepted by other systems. This is where splitter +pattern comes in handy. It will take the whole document, split it based on given criteria and send individual +items to the endpoint. +![alt text](./etc/sequencer.gif "Splitter") ## Applicability +Use the Splitter pattern when +* You need to split received data into smaller pieces to process them individually +* You need to control the size of data batches you are able to process ## Credits +* [Gregor Hohpe, Bobby Woolf - Enterprise Integration Patterns](http://www.enterpriseintegrationpatterns.com/patterns/messaging/Sequencer.html) +* [Apache Camel - Documentation](http://camel.apache.org/splitter.html) + diff --git a/eip-splitter/etc/sequencer.gif b/eip-splitter/etc/sequencer.gif new file mode 100644 index 0000000000000000000000000000000000000000..a925fa2098777dadbf4c9e9a2006e9513421b8dc GIT binary patch literal 2298 zcmVM)j$~<` zXsWJk>%Q9|%W!Sqc&_h!@BbtjVK}4#kI1BQ$!t1p2coq2tXi+wtajUpPNxU1cuX#v z&mZp>jBdN%@c2%>CWhtsynfF|(Cc=6f`f#GOn-m`cZQ6Oj*lmZfQyiomY0>1b(EN$ zo}Y4>Yn-5^rl(n=QlzM@uCG3-fv~i-wlK1+x4XQ(9HP3u!o$8otHH#{%Cs{^%g@lZ z$kEi*nA6tT+J)HL-ru3%;^TVV>7`uiUB1OEd82n6^~ zU;udh61wwOa3Dd00}v{lc#a{&hYlrD-1yDkMSvgwHF6wjt=`9m0SJmD$?}=Wlo(+G zT-mbbFp~rWIs{4c3cjB}g9;r=bf`^nKy#kd*;8H7r%jak)f_n&c7g2gjG43R*KIxHkwrxb?a;PC*FN(S zuW zGOk7Ab2;Xw+l?_4x#B4t`uHM{{Sh%(X{05BB#u^2*rSt%eF&w8B!0GuV`D=0*mGNQ z`6P%zsx_o!f53G}oL8nnr*;=am7kg;;uGZ%gJ6Y)pgw68$4dnyny5jFCR%3>P4cPW zn_E>i#-mW=$!MdSI=ZK%E>e2vrKHZ5X91lqDv+X>q5vock%Fq8s7|~JLaWV{S}6qw zs2V_{sIFQ7t|my4XPYzf=Vq*(DSH_ItxXu4hOS!>>q0$>rW)+8){^i=1CFvy@|imVsZtfuyhwh@Nb;r(A1l zfB^!HT{hVPjGeR}MSs0*qicTvhy)Qg9W%w{o(1!`09SqQ$9Zb)8$?LXTj4#t})~t8`-e~O|V&7s|9z)<+SC;s}k{f+GxQ(CfdgGACn>yHK zuzUH-&UQXSvK3=Yb?8&{6Zldg1r4sRhnu`QudO%FxZ04#`?lA^+WR}Nm_ zRxDx~JEX-MI--aC1B@K!__i^wPlI^`1r|ZL#@O7CiK$u2APH#@Lzc0MXVjwu{Ux;s zJ<^SVq@Z#vcrr^0k%*V;S#UPFx!z4}iEiv*Ut|d$S}I3zm&D^LS$Q2U9;Fv1AtNGp z$xGt+@|U{^<{@9WKocyon4WASGMAyuTpG}W(6r7mr&)_?p7K-Kgv~a&2@7uu^P02S zV>q8CO>*7@m*2e1ROU&~dA8G?#Yo{fhsc_G`tzScxhFoUc}H~WA!i89*+923ziGRmD^p>*)oOLs2xuLvUj0xftMXN^ zcr`0rYv9+w{*|nVl~Y}LQCPu}HLQ*;D_|Y_Rmx_{t%(&ZWcRvQlHS#_d==}X8oO7t ziuSTk%`9MrO4rU746~bkY@TBA+0t@0ve&AuYU`l_PEbXtSMvm+bgK-e+IF(XJxyv= zE8FC@HMyJrjcr)giUQ*X_Zpa;?Q&aNDC(wCt=2t_SP>gq@Gh6I<4vk)y<1)82BE7v z!|r*r>s;3|gSn@zZ)5YSUdVE{1iDCTbVEyExtjIA_N51M2dv+_R`#&FMKFNjV%P^u zSF;jMFku&LS+@E$wHH2ah8YN23xl?~8t#ODeB%OJ%?25_FV-<6)a%^X(pShKrf~>-JJ{wv7{5JMac(8cK*iR$x8r^9 zb}5YH@17U9`6Yy)1Z?EPwz$O`%CZQ&+}5Uqx3_W*S)Sb~Ws&V!cvreIp6l}GDYLZC zmRhf;fAbpOuqpb$jJ|GO3QTD>L%7i+MYLV9>}Ej^`La=FG*!18>MGwy(@Ms{l^N{b zPj8shLWb|8VSQrlrn(iY&T)Oq{A%zTw$;3@v9DJh>?Ge>k-LtytLuzpWfxk^PKK^l zk6lD*b6VD_wzjk9L+m5p_RiG)M5NOk?P8PKyw?6ModI0sO4pjj;f}Yw=S}Z=+xy=5 U&bPkz&F_Bu``-ZHY6JiPJ08586aWAK literal 0 HcmV?d00001