From: Ja k. <jja...@gm...> - 2014-01-28 23:31:38
|
for ha-jdbc-2.0.16-rc-1-jdk1.6.jar in ha-jdbc-cluster-petclinic.xml <?xml version="1.0"?> <ha-jdbc> <sync id="passive" class="net.sf.hajdbc.sync.PassiveSynchronizationStrategy"/> <cluster balancer="round-robin" default-sync="passive" dialect="mysql" meta-data-cache="none" transaction-mode="serial"> <datasource id="database1"> <name>java:comp/env/jdbc/petclinic1</name> </datasource> <datasource id="database2"> <name>java:comp/env/jdbc/petclinic2</name> </datasource> </cluster> </ha-jdbc> in tomcat/context.xml <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/petclinic1" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="x" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/petclinic"/> <Resource name="jdbc/petclinic2" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/petclinic"/> <Resource name="jdbc/petclinic" auth="Container" type="javax.sql.DataSource" username="root" password="xxx" driverClassName="net.sf.hajdbc.sql.Driver" url="jdbc:ha-jdbc:cluster-petclinic"/> below works fine <Resource name="jdbc/petclinic" type="net.sf.hajdbc.sql.DataSource" factory="org.apache.naming.factory.BeanFactory" closeMethod="stop" cluster="datasource" config="file:///szkolenie/tomcat/lib_hajdbc/ha-jdbc-cluster-petclinic.xml"/> but when I replace it with <Resource name="jdbc/petclinic" auth="Container" type="javax.sql.DataSource" username="root" password="xxx" driverClassName="net.sf.hajdbc.sql.Driver" url="jdbc:ha-jdbc:cluster-petclinic"/> </Context> I get error: Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (null) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549) ~[tomcat-dbcp.jar:7.0.50] at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) ~[tomcat-dbcp.jar:7.0.50] at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) ~[tomcat-dbcp.jar:7.0.50] at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) ~[spring-jdbc-4.0.0.RELEASE.jar:4.0.0.RELEASE] at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) ~[spring-jdbc-4.0.0.RELEASE.jar:4.0.0.RELEASE] ... 30 common frames omitted Caused by: java.sql.SQLException: null at net.sf.hajdbc.util.SQLExceptionFactory.createSQLException(SQLExceptionFactory.java:58) ~[ha-jdbc-2.0.16-rc-1-jdk1.6.jar:na] at net.sf.hajdbc.DatabaseClusterFactory.getDatabaseCluster(DatabaseClusterFactory.java:125) ~[ha-jdbc-2.0.16-rc-1-jdk1.6.jar:na] at net.sf.hajdbc.sql.Driver.getDatabaseCluster(Driver.java:180) ~[ha-jdbc-2.0.16-rc-1-jdk1.6.jar:na] at net.sf.hajdbc.sql.Driver.connect(Driver.java:84) ~[ha-jdbc-2.0.16-rc-1-jdk1.6.jar:na] at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) ~[tomcat-dbcp.jar:7.0.50] at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) ~[tomcat-dbcp.jar:7.0.50] at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) ~[tomcat-dbcp.jar:7.0.50] at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) ~[tomcat-dbcp.jar:7.0.50] ... 34 common frames omitted Caused by: javax.management.MBeanRegistrationException: Exception thrown in preRegister method at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.preRegisterInvoke(DefaultMBeanServerInterceptor.java:1020) ~[na:1.6.0_37] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:938) ~[na:1.6.0_37] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917) ~[na:1.6.0_37] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312) ~[na:1.6.0_37] at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482) ~[na:1.6.0_37] at net.sf.hajdbc.DatabaseClusterFactory.getDatabaseCluster(DatabaseClusterFactory.java:118) ~[ha-jdbc-2.0.16-rc-1-jdk1.6.jar:na] ... 40 common frames omitted Caused by: org.jibx.runtime.JiBXException: Expected "cluster" end tag, found "datasource" start tag (line 5, col 30) at org.jibx.runtime.impl.UnmarshallingContext.parsePastCurrentEndTag(UnmarshallingContext.java:736) ~[jibx-run-1.2.1.jar:1.2.1] at net.sf.hajdbc.sql.DriverDatabaseCluster.JiBX_binding_driver_unmarshal_2_0(DriverDatabaseCluster.java) ~[ha-jdbc-2.0.16-rc-1-jdk1.6.jar:na] at net.sf.hajdbc.sql.JiBX_binding_driverDriverDatabaseCluster_access.unmarshal() ~[ha-jdbc-2.0.16-rc-1-jdk1.6.jar:na] at org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(UnmarshallingContext.java:2762) ~[jibx-run-1.2.1.jar:1.2.1] at net.sf.hajdbc.sql.AbstractDatabaseCluster.preRegister(AbstractDatabaseCluster.java:1045) ~[ha-jdbc-2.0.16-rc-1-jdk1.6.jar:na] at com.sun.jmx.mbeanserver.MBeanSupport.preRegister(MBeanSupport.java:176) ~[na:1.6.0_37] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.preRegisterInvoke(DefaultMBeanServerInterceptor.java:1010) ~[na:1.6.0_37] ... 45 common frames omitted Jan 29, 2014 12:10:54 AM org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart ha-jdbc-cluster-petclinic.xml is the same in both cases, is parsed in first case, but cannot be parsed in second case Where is the problem ? BR J. |