Hi,

I have a mysql master/slave setup which works fine with jdbc datasource.
All inserts goes to the master and all queries goes to the slaves.

I try to access mysql master/slaves using hibernate/spring configuration.

I use org.springframework.orm.hibernate3.HibernateTransactionManager
transaction manager and configure it as follows.

<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<tx:advice id="txHbAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="getPopupPage" propagation="REQUIRED" />
<tx:method name="get*" propagation="SUPPORTS" read-only="true" />
<tx:method name="find*" propagation="SUPPORTS" read-only="true" />
<tx:method name="search*" propagation="SUPPORTS" read-only="true" />
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>

But when i run application, all the requests goes to the master. Tomcat
context configuration is as follows :

<Resource name="jdbc/database" auth="Container"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
                maxPoolSize="256" minPoolSize="30"
initialPoolSize="5" acquireIncrement="10"
driverClass="com.mysql.jdbc.ReplicationDriver"
factory="org.apache.naming.factory.BeanFactory" user="root" password="root"
 
jdbcUrl="jdbc:mysql:replication://master:3306,slave1:3306,slave2:3306/database?useUnicode=true&characterEncoding=UTF-
 8&autoReconnect=true&roundRobinLoadBalance=true" />

I searched the net but could not find any solution. I only found that
setting transaction manager to read-only could not set
connection.setReadonly(true).

Any help would be appreciated.
Regards,
Parvin
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to