Affects Version/s: None
Fix Version/s: None
Putting a Timeout value in a Transaction attribute has no effect.
I suspect the following method in class Spring.Transaction.Interceptor.AttributesTransactionAttributeSource to be responsible.
protected override ITransactionAttribute FindTransactionAttribute(Attribute attributes)
if (attributes == null)
foreach (Attribute attr in attributes)
if (attr is TransactionAttribute)
TransactionAttribute ta = (TransactionAttribute)attr;
RuleBasedTransactionAttribute rbta =
//TODO another reminder to sync property names
rbta.PropagationBehavior = ta.TransactionPropagation;
rbta.TransactionIsolationLevel = ta.IsolationLevel;
rbta.ReadOnly = ta.ReadOnly;
The timeout attribute is never copied
so we endup with the default machine timeout of 10mn which was unfortunatly not enough for us.