在我的 ActiveMQ 配置中,我想将默认的数据库锁事务隔离级别更改为TRANSACTION_REPEATABLE_READ
.
API 文档写道:
public void setTransactionIsolation(int transactionIsolation)
将事务隔离级别设置为其他
TRANSACTION_READ_UNCOMMITTED
值 在集群数据库环境中可能无法实现允许的脏隔离级别,因此可能需要更严格和更昂贵的选项,例如TRANSACTION_REPEATABLE_READ
参见隔离级别常量Connection
在 XML 配置中,jdbcPersistenceAdapter
'transactionIsolation
属性只接受整数类型的值,因此我不能Connection.TRANSACTION_REPEATABLE_READ
直接使用该常量,而只能使用它的值 (4):
<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="${activemq.data}" dataSource="#mysql-ds" transactionIsolation="4" lockKeepAlivePeriod="5000">
<locker>
<lease-database-locker lockAcquireSleepInterval="10000"/>
</locker>
</jdbcPersistenceAdapter>
</persistenceAdapter>
有没有办法,我可以指定常数而不是硬编码数字“4”?
由于 ActiveMQ 是基于 Spring 的,我想我可以尝试通过使用<util:constant>以某种方式分配它,但找不到如何去做......