jboss - jdbc:mysql:replication causes Unknown column in 'field list' exception at runtime -


i using jboss eap 5.1 want implement master/slave mechanism. xyz-mysql-ds.xml (for ex. customer db) xyz-mysql-ds.common.xml (for common db)

i have added master/slave ip in xyz-mysql-ds.xml

<local-tx-datasource> <jndi-name>customerds</jndi-name> <use-java-context>false</use-java-context>     <connection-url>jdbc:mysql:replication://master_ip_address:3306,slave_ip_address:3306/customer_v2_local?loadbalancepingtimeout=1500;loadbalanceblacklisttimeout=7000;autoreconnect=true;failoverreadonly=true;roundrobinloadbalance=true</connection-url>   <driver-class>com.mysql.jdbc.replicationdriver</driver-class>  

it starts jboss successfully. geetting following error @ runtime.

mysqlsyntaxerrorexception: unknown column 'lkpmenuopt0_.sortorder' in 'field list'com.mysql.jdbc.exceptions.jdbc4.m ysqlsyntaxerrorexception: unknown column 'lkpmenuopt0_.sortorder' in 'field list'         @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method)         @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:39)         @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:27)         @ java.lang.reflect.constructor.newinstance(constructor.java:513)         @ com.mysql.jdbc.util.handlenewinstance(util.java:411)         @ com.mysql.jdbc.util.getinstance(util.java:386)         @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1052)         @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3597)         @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3529)         @ com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:1990)         @ com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2151)         @ com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2625)         @ com.mysql.jdbc.loadbalancedmysqlconnection.execsql(loadbalancedmysqlconnection.java:155)         @ com.mysql.jdbc.preparedstatement.executeinternal(preparedstatement.java:2119)         @ com.mysql.jdbc.preparedstatement.executequery(preparedstatement.java:2281)         @ org.jboss.resource.adapter.jdbc.wrappedpreparedstatement.executequery(wrappedpreparedstatement.java:342)          @ org.hibernate.jdbc.abstractbatcher.getresultset(abstractbatcher.java:209)         @ org.hibernate.loader.loader.getresultset(loader.java:1811)         @ org.hibernate.loader.loader.doquery(loader.java:696)         @ org.hibernate.loader.loader.doqueryandinitializenonlazycollections(loader.java:258)         @ org.hibernate.loader.loader.dolist(loader.java:2233)  [wrapped] org.hibernate.exception.sqlgrammarexception: not execute query         @ org.hibernate.exception.sqlstateconverter.convert(sqlstateconverter.java:90)         @ org.hibernate.exception.jdbcexceptionhelper.convert(jdbcexceptionhelper.java:66)         @ org.hibernate.loader.loader.dolist(loader.java:2236)  >>org.springframework.dao.invaliddataaccessresourceusageexception: not execute query; nested exception org .hibernate.exception.sqlgrammarexception: not execute query >>org.hibernate.exception.sqlgrammarexception: not execute query [sql: 1054, 42s22] >>com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception: unknown column 'lkpmenuopt0_.sortorder' in 'field list ' >>      @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) >>      @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:39) >>      @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:27) >>      @ java.lang.reflect.constructor.newinstance(constructor.java:513) >>      @ com.mysql.jdbc.util.handlenewinstance(util.java:411) >>      @ com.mysql.jdbc.util.getinstance(util.java:386) >>      @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1052) >>      @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3597) >>      @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3529) >>      @ com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:1990) >>      @ com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2151) >>      @ com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2625) >>      @ com.mysql.jdbc.loadbalancedmysqlconnection.execsql(loadbalancedmysqlconnection.java:155) 

...

...

and if remove word relication : <connection-url>jdbc:mysql:replication: working no runtime exception, read / write request goes master only.

any hint solve issue ?

thanks !

<connection-url>jdbc:mysql:replication://master:3306,slave:3306/customerdb? loadbalancepingtimeout=1500&amp;loadbalanceblacklisttimeout=7000&amp;autoreconnect=true&amp;failoverreadonly=true&amp;roundrobinloadbalance=true</connection-url>

<connection-url>jdbc:mysql:replication://master:3306,slave:3306/customerdb?loadbalancepingtimeout=1500&amp;loadbalanceblacklisttimeout=7000&amp;autoreconnect=true&amp;failoverreadonly=true&amp;roundrobinloadbalance=true</connection-url> 

**finally this works me separating properties &amp;


Comments

Popular posts from this blog

javascript - JS causing window size to be bigger than necessary - Dropdown bug -

php - Calling a template part from a post -

How to mention the localhost in android -