HI Henryk, A claim check EIP is definitely an excellent use case for a message store.
Regarding your example - it is probably a matter of taste, but I would rather * register a (global) default message store with the CamelContext rather than in the route * allow all applicable EIPs to override this * not set the CLAIM_CHECK header again (what for?) One issue with such a claim check is that you should stay in control about what is temporarily pushed to the store (e.g. the body, or a specific header, or...). Later when you claim back the data, the operation must be basically reversed. Then, who is in charge to remember the destination - the claimCheck/claim EIP pair or the developer? In the latter case, claiming back the data might look more like applying a special expression.... ... // store and receive unique id in reserved CLAIM_CHECK header .claimCheck(myStore, header('myBigHeader')) ... // and claim back presenting the unique id .setHeader('myBigHeader', claim(myStore)) ... Does this make sense? cheers Christian 2013/2/21 Henryk Konsek <hekon...@gmail.com>: >> You are invited add, comment, criticize etc. > > Hi Christian, > > Looks good :) . > > I've added some examples to Wiki demonstrating my vision of the usage > of Claim Check EIP. > > // Setting default message store for route: > defaultMessageStore(myStore); > > // Claim Check EIP store: > // 1) Store body. > // 2) Set body to null. > // 3) Set Exchange.CLAIM_CHECK header to unique claim id. > from(...).claimCheck().to(...); > > // Claim Check EIP read: > // 1) Lookup for the Exchange.CLAIM_CHECK header value. > // 2) Read the message. > // 3) Set body to the value fetched from the store. > from(...).setHeader(Exchange.CLAIM_CHECK, const("id")).claim().to(...); > > I'm curious if my claim check DSL design is similar to yours. > > Best regards. > > -- > Henryk Konsek > http://henryk-konsek.blogspot.com