The JdbcChannelMessageStore
does not start transaction, it is just participate in the existing one. Look ho you start it on your service level. Perhaps it is just a @Transactional
and it does have this option:
/**
* The transaction isolation level.
* <p>Defaults to {@link Isolation#DEFAULT}.
* <p>Exclusively designed for use with {@link Propagation#REQUIRED} or
* {@link Propagation#REQUIRES_NEW} since it only applies to newly started
* transactions. Consider switching the "validateExistingTransactions" flag to
* "true" on your transaction manager if you'd like isolation level declarations
* to get rejected when participating in an existing transaction with a different
* isolation level.
* @see org.springframework.transaction.interceptor.TransactionAttribute#getIsolationLevel()
* @see org.springframework.transaction.support.AbstractPlatformTransactionManager#setValidateExistingTransaction
*/
Isolation isolation() default Isolation.DEFAULT;
The Spring Integration transactions support options do provide hooks to configure it similar way: https://docs.spring.io/spring-integration/docs/current/reference/html/transactions.html#transactions