bug of datasource HA for wildfly-8.0.0.Final
sndaemon Apr 4, 2014 5:15 AMMy configuration for datasource HA as follows:
<datasource jndi-name="java:jboss/mysql/mysql01" pool-name="back-mysql" enabled="true" use-java-context="true"> <connection-url>jdbc:mysql://10.19.220.198:3306/mysql|jdbc:mysql://10.19.220.199:3306/mysql</connection-url> <driver>com.mysql</driver> <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> <url-delimiter>|</url-delimiter> <pool> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> <prefill>false</prefill> </pool> <security> <user-name>root</user-name> </security> <validation> <check-valid-connection-sql>select * from Student</check-valid-connection-sql> <validate-on-match>true</validate-on-match> <background-validation>true</background-validation> <background-validation-millis>1</background-validation-millis> </validation> <timeout> <idle-timeout-minutes>1</idle-timeout-minutes> </timeout> </datasource>
I stoped mysql:10.19.220.198,and accessed my page.
But it worked wrong,still connected to 10.19.220.198.
Error logs:
[Server:bserver1] 21:05:43,261 WARN [org.jboss.as.connector.subsystems.datasources.AbstractDataSourceService$WildFlyLocalMCF] (default task-3) Failed to create connection for jdbc:mysql://10.19.220.198:3306/mysql: Could not create connection [Server:bserver1] 21:05:43,292 INFO [stdout] (default task-3) conn: org.jboss.jca.adapters.jdbc.jdk7.WrappedConnectionJDK7@7648dd [Server:bserver1] 21:21:05,602 WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (default task-4) IJ000604: Throwable while attempting to get a new connection: null: javax.resource.ResourceException: Could not create connection using any of the URLs: jdbc:mysql://10.19.220.198:3306/mysql, jdbc:mysql://10.19.220.199:3306/mysql [Server:bserver1] at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getHALocalManagedConnection(LocalManagedConnectionFactory.java:341) [Server:bserver1] at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:242) [Server:bserver1] at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.createConnectionEventListener(SemaphoreArrayListManagedConnectionPool.java:1144) [Server:bserver1] at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:446) [Server:bserver1] at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:452) [Server:bserver1] at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:420) [Server:bserver1] at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:379) [Server:bserver1] at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:422) [Server:bserver1] at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:513) [Server:bserver1] at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:142) [Server:bserver1] at com.suning.utils.DBUtil.getConnection(DBUtil.java:19) [classes:] [Server:bserver1] at com.suning.utils.DBUtil.findStudentById(DBUtil.java:39) [classes:] [Server:bserver1] at com.suning.servlet.TestDBServlet.doGet(TestDBServlet.java:22) [classes:] [Server:bserver1] at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) [Server:bserver1] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) [Server:bserver1] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.server.Connectors.executeRootHandler(Connectors.java:168) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:687) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25] [Server:bserver1] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25] [Server:bserver1] at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25] [Server:bserver1] [Server:bserver1] 21:21:05,620 INFO [stdout] (default task-4) 2.获取数据库连接失败! [Server:bserver1] 21:21:05,622 ERROR [stderr] (default task-4) java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/mysql/mysql01 [Server:bserver1] 21:21:05,623 ERROR [stderr] (default task-4) at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:150) [Server:bserver1] 21:21:05,623 ERROR [stderr] (default task-4) at com.suning.utils.DBUtil.getConnection(DBUtil.java:19) [Server:bserver1] 21:21:05,624 ERROR [stderr] (default task-4) at com.suning.utils.DBUtil.findStudentById(DBUtil.java:39) [Server:bserver1] 21:21:05,624 ERROR [stderr] (default task-4) at com.suning.servlet.TestDBServlet.doGet(TestDBServlet.java:22) [Server:bserver1] 21:21:05,624 ERROR [stderr] (default task-4) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) [Server:bserver1] 21:21:05,625 ERROR [stderr] (default task-4) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [Server:bserver1] 21:21:05,625 ERROR [stderr] (default task-4) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [Server:bserver1] 21:21:05,625 ERROR [stderr] (default task-4) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [Server:bserver1] 21:21:05,626 ERROR [stderr] (default task-4) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [Server:bserver1] 21:21:05,627 ERROR [stderr] (default task-4) at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) [Server:bserver1] 21:21:05,627 ERROR [stderr] (default task-4) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [Server:bserver1] 21:21:05,628 ERROR [stderr] (default task-4) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113) [Server:bserver1] 21:21:05,628 ERROR [stderr] (default task-4) at io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52) [Server:bserver1] 21:21:05,629 ERROR [stderr] (default task-4) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [Server:bserver1] 21:21:05,629 ERROR [stderr] (default task-4) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61) [Server:bserver1] 21:21:05,629 ERROR [stderr] (default task-4) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [Server:bserver1] 21:21:05,630 ERROR [stderr] (default task-4) at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [Server:bserver1] 21:21:05,630 ERROR [stderr] (default task-4) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [Server:bserver1] 21:21:05,630 ERROR [stderr] (default task-4) at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) [Server:bserver1] 21:21:05,631 ERROR [stderr] (default task-4) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [Server:bserver1] 21:21:05,631 ERROR [stderr] (default task-4) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [Server:bserver1] 21:21:05,632 ERROR [stderr] (default task-4) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240) [Server:bserver1] 21:21:05,632 ERROR [stderr] (default task-4) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227) [Server:bserver1] 21:21:05,632 ERROR [stderr] (default task-4) at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73) [Server:bserver1] 21:21:05,633 ERROR [stderr] (default task-4) at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146) [Server:bserver1] 21:21:05,633 ERROR [stderr] (default task-4) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:168) [Server:bserver1] 21:21:05,634 ERROR [stderr] (default task-4) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:687) [Server:bserver1] 21:21:05,641 ERROR [stderr] (default task-4) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [Server:bserver1] 21:21:05,641 ERROR [stderr] (default task-4) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [Server:bserver1] 21:21:05,641 ERROR [stderr] (default task-4) at java.lang.Thread.run(Thread.java:724) [Server:bserver1] 21:21:05,642 ERROR [stderr] (default task-4) Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/mysql/mysql01 [Server:bserver1] 21:21:05,642 ERROR [stderr] (default task-4) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:440) [Server:bserver1] 21:21:05,643 ERROR [stderr] (default task-4) at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:422) [Server:bserver1] 21:21:05,643 ERROR [stderr] (default task-4) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:513) [Server:bserver1] 21:21:05,643 ERROR [stderr] (default task-4) at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:142) [Server:bserver1] 21:21:05,644 ERROR [stderr] (default task-4) ... 29 more [Server:bserver1] 21:21:05,644 ERROR [stderr] (default task-4) Caused by: javax.resource.ResourceException: IJ000658: Unexpected throwable while trying to create a connection: null [Server:bserver1] 21:21:05,645 ERROR [stderr] (default task-4) at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:490) [Server:bserver1] 21:21:05,645 ERROR [stderr] (default task-4) at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:452) [Server:bserver1] 21:21:05,645 ERROR [stderr] (default task-4) at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:420) [Server:bserver1] 21:21:05,646 ERROR [stderr] (default task-4) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:379) [Server:bserver1] 21:21:05,646 ERROR [stderr] (default task-4) ... 32 more [Server:bserver1] 21:21:05,653 ERROR [stderr] (default task-4) Caused by: javax.resource.ResourceException: Could not create connection using any of the URLs: jdbc:mysql://10.19.220.198:3306/mysql, jdbc:mysql://10.19.220.199:3306/mysql [Server:bserver1] 21:21:05,653 ERROR [stderr] (default task-4) at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getHALocalManagedConnection(LocalManagedConnectionFactory.java:341) [Server:bserver1] 21:21:05,654 ERROR [stderr] (default task-4) at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:242) [Server:bserver1] 21:21:05,654 ERROR [stderr] (default task-4) at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.createConnectionEventListener(SemaphoreArrayListManagedConnectionPool.java:1144) [Server:bserver1] 21:21:05,654 ERROR [stderr] (default task-4) at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:446) [Server:bserver1] 21:21:05,655 ERROR [stderr] (default task-4) ... 35 more [Server:bserver1] 21:21:05,655 INFO [stdout] (default task-4) conn: null [Server:bserver1] 21:21:05,655 ERROR [io.undertow.request] (default task-4) UT005023: Exception handling request to /datasource/TestDBServlet: java.lang.NullPointerException [Server:bserver1] at com.suning.utils.DBUtil.findStudentById(DBUtil.java:42) [classes:] [Server:bserver1] at com.suning.servlet.TestDBServlet.doGet(TestDBServlet.java:22) [classes:] [Server:bserver1] at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) [Server:bserver1] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) [Server:bserver1] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.server.Connectors.executeRootHandler(Connectors.java:168) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:687) [undertow-core-1.0.0.Final.jar:1.0.0.Final] [Server:bserver1] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25] [Server:bserver1] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25] [Server:bserver1] at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
I promise only 10.19.220.198 stopped,10.19.220.199 was running!