Hi,
I would like know if it's possible use getIsolationLevel() (Interface TransactionDefinition) to know if in a method where I suppose it could be in a transaction, isolation level setted is used.
That's my configuration springapp-servlet.xml:
and this is my simple method in transaction (simple query to db not really useful in transaction but it's just a test):Code:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!-- Data Source --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>org.postgresql.Driver</value> </property> <property name="url"> <value>jdbc:postgresql://localhost:5432/transactionstest</value> </property> <property name="username"> <value>postgres</value> </property> <property name="password"> <value>postgres</value> </property> </bean> <!-- Persistence --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <ref local="dataSource" /> </property> </bean> <bean id="postgresTablesCreator" class="org.test.persistence.PostgresTablesCreator"> <property name="jdbcTemplate"> <ref bean="jdbcTemplate"/> </property> </bean> <bean id="personManagerDao" class="org.test.persistence.PersonManagerDaoJdbc"> <property name="jdbcTemplate"> <ref bean="jdbcTemplate"/> </property> </bean> <bean id="personManager" class="org.test.persistence.PersonManager"> <property name="personManagerDao"> <ref bean="personManagerDao"/> </property> </bean> <!-- Transactions - Units of Work --> <bean id="dummyTransactionBean" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="proxyInterfaces"> <list> <value> org.test.transaction.DummyTransaction </value> </list> </property> <property name="target"> <ref bean="dummyTransaction" /> </property> <property name="transactionManager"> <ref bean="txManager" /> </property> <property name="transactionAttributeSource"> <ref bean="attributeSource" /> </property> </bean> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="attributeSource" class="org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource"> <property name="properties"> <props> <prop key="queryPersonThread">PROPAGATION_REQUIRES_NEW,ISOLATION_SERIALIZABLE</prop> </props> </property> </bean> <bean id="dummyTransaction" class="org.test.transaction.DummyTransactionImpl"> <property name="personManager"> <ref bean="personManager"/> </property> <property name="transactionManager"> <ref bean="txManager"/> </property> </bean> </beans>
can I "print" via log infos about isolation level directly in this method? Using getIsolationLevel() method above?Code:public synchronized void queryPersonThread() { log.info("TRANSACTION ON THIS METHOD INFOS"); this.name = personManager.getPersonNameById(this.id); }
Thanks,
Julio


Reply With Quote
(I'm rolling on floor break-dance style
)