artembilan/spring-integration — comment on commit d5af04c225bf33c782e90ae2570c5fcab9aa7b78
File: spring-integration-jdbc/src/test/java/org/springframework/integration/jdbc/CompetingConsumersOnJdbcMessageStoreTests-node-context.xml line 20
By dsyer:

Artem,

I think you have to expect *some* exceptions if you are taking locks -
not everyone can have the lock at the same time so you will get some
threads failing to obtain it. Normally they can just try again. Is
that what you are seeing?

You could also try PROPAGATION_REPEATABLE_READ (not sure if that is
supported in Oracle). Also I know Oracle has a lot of DDL options on
table declarations that affect its lock tolerance. My tests used the
default settings for Oracle XE out of the box. Your platform might have
different defaults.

Dave.

On 24/02/12 09:16, Artem Bilan wrote:
> H-m-m...
> Dave, thanks for your response.
>
> If I set it as SERIALIZABLE when my DataSource is Oracle and remove FOR UPDATE, I catch this error:
>
>> org.springframework.dao.CannotSerializeTransactionException: PreparedStatementCallback; SQL [DELETE from INT_MESSAGE_GROUP where GROUP_KEY=? and REGION=? and MESSAGE_ID=?]; ORA-08177: can't serialize access for this transaction
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/artembilan/spring-integration/commit/d5af04c225bf33c782e90ae2570c5fcab9aa7b78#commitcomment-1006557
>