Nov 4th, 2011, 11:31 AM
Is a (internal) Channel transactional? Where does the transaction end?
i was studying the SI manual, but got no right answer to may questions. may you can give me a hint.
let's assume i have a jms channel-adapter with ServiceActivator1 that is listening and processing messages. after this ServiceActivator1, it goes to channel1 and then to ServiceActivator2 then to a channel2 and than to ServiceActivator3. ServiceActivator3 writes the the data to the database.
<int:channel id="channel1" >
<int:chain id="foobar" input-channel="jms" output-channel="channel1" >
<int:filter ref="foobarFilter" method="accept" />
<int:service-activator ref="acknowledge" method="acknowledge" />
when is the transaction of the incoming jms finish? after ServiceActivator1 has send the message to the internal channel1? or when it is written to the database.
are these (internal) channels transactional. i mean, do i loose the message when the system crash? if yes, i guess i can avoid it buy using everywhere eg JMS channelAdapters. its this right?
just being curious, how is this done internally, this "in-memory" channel?
Tags for this Thread