基本問(wèn)題實(shí)際上非常簡(jiǎn)單,讓我們考慮以下鏈:<int:poller id="inputPoller" task-executor="inputTaskPool" fixed-delay="${input.poller.interval}" receive-timeout="${input.poller.timeout}" max-messages-per-poll="${poller.messages}"> <int:transactional transaction-manager="chainedTransactionManager"/></int:poller><int:chain id="someInputChain" input-channel="theInputChannel"> <int:poller ref="inputPoller" /> <!-- various transfomers, nothing asynchronous --> <int:splitter id="messageSplitter" ref="messageSplitterService" apply-sequence="false" /> <int:transformer id="messagePersister" ref="messagePersisterService" method="persistMessageMetadata" /></int:chain>messageSplitter由同一事務(wù)和同一線(xiàn)程生成的所有消息是否會(huì)在同一事務(wù)中或隨后在不同事務(wù)/來(lái)自不同線(xiàn)程中處理?拆分器(同步)調(diào)用 REST 服務(wù),該服務(wù)將為其提供消息必須經(jīng)過(guò)的目標(biāo)通道列表。然后它將創(chuàng)建如此多的副本并為輸出通道設(shè)置一個(gè)標(biāo)題。該列表從拆分器返回。這messagePersister會(huì)將新消息的密鑰與一些元數(shù)據(jù)一起存儲(chǔ)在數(shù)據(jù)庫(kù)表中。每次調(diào)用messagePersisterService.persistMessageMetadata(對(duì)于每個(gè)拆分的消息)是在與原始消息相同的事務(wù)/線(xiàn)程中還是會(huì)在各自的事務(wù)中處理?
spring集成分離器的事務(wù)邊界
繁華開(kāi)滿(mǎn)天機(jī)
2022-06-15 14:43:52