There is a fundamental problem with the hsql mbean. When it starts, it creates a new thread to start the db. JBoss continues on to other services. If the thread takes too long to bind the sockets, you get "Connection refused".
Somebody hacked jdbc2 so you can do retries (default 5 times waiting 1.5 seconds on each attempt) <attribute name="ConnectionRetryAttempts">5</attribute> Additionally, if you want to make sure the data is flushed to disk on every write, you should change the jdbc2 sql properties to use create cached table I wouldn't recommend using hsqldb for anything other than testing and demos. Regards, Adrian On Thu, 2003-10-02 at 13:42, Stefan Puiu wrote: > Hello list, > > I'm having trouble restarting JBoss (I'm using JBoss 3.2.1) after > running some messaging tests that fail, the PersistenceManager throws an > exception which gets thrown in the resolveAllUncomittedTXs method in > org.jboss.mq.pm.jdbc2.PersistenceManager, as you can see in the stack > trace attached. It seems to be Hypersonic SQL-related, the > PersistenceManager can't connect to the hsql database. I haven't altered > the configuration files in any way, I've just been running messaging > tests that involve sending messages and synchronously receiving replies; > the test class extends EJBTestCase from JUnitEJB, so it runs in the > JBoss JVM, and because I used a synchronous receive() that wouldn't get > any reply, that probably left an uncommitted transaction. > > How can I fix this? I promise I'll be a good boy and use > receive(timeout) from now on :D... > > ______________________________________________________________________ > > 15:12:24,402 INFO [TxConnectionManager] Started > 15:12:24,402 INFO [PersistenceManager] Starting > 15:12:30,819 ERROR [PersistenceManager] Starting failed > org.jboss.mq.SpyJMSException: Could not resolve uncommited transactions. Message > recovery may not be accurate; - nested throwable: > (org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: > (java.sql.SQLException: Connection is broken: Connection refused); - nested > throwable: (org.jboss.resource.JBossResourceException: Could not create connection; > - nested throwable: (java.sql.SQLException: Connection is broken: Connection > refused))) > at > org.jboss.mq.pm.jdbc2.PersistenceManager.resolveAllUncommitedTXs(PersistenceManager.java:276) > at > org.jboss.mq.pm.jdbc2.PersistenceManager.startService(PersistenceManager.java:1299) > at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) > at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at > org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) > at $Proxy11.start(Unknown Source) > at org.jboss.system.ServiceController.start(ServiceController.java:392) > at org.jboss.system.ServiceController.start(ServiceController.java:408) > at org.jboss.system.ServiceController.start(ServiceController.java:408) > at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) > at $Proxy5.start(Unknown Source) > at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226) > at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613) > at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) > at $Proxy7.deploy(Unknown Source) > at > org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302) > at > org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476) > at > org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:200) > at > org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:273) > at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at > org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) > at $Proxy0.start(Unknown Source) > at org.jboss.system.ServiceController.start(ServiceController.java:392) > at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) > at $Proxy5.start(Unknown Source) > at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226) > at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:597) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) > at $Proxy6.deploy(Unknown Source) > at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:365) > at org.jboss.system.server.ServerImpl.start(ServerImpl.java:272) > at org.jboss.Main.boot(Main.java:150) > at org.jboss.Main$1.run(Main.java:388) > at java.lang.Thread.run(Thread.java:534) > Caused by: org.jboss.util.NestedSQLException: Could not create connection; - nested > throwable: (java.sql.SQLException: Connection is broken: Connection refused); - > nested throwable: (org.jboss.resource.JBossResourceException: Could not create > connection; - nested throwable: (java.sql.SQLException: Connection is broken: > Connection refused)) > at > org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:106) > at > org.jboss.mq.pm.jdbc2.PersistenceManager.getConnection(PersistenceManager.java:1206) > at > org.jboss.mq.pm.jdbc2.PersistenceManager.resolveAllUncommitedTXs(PersistenceManager.java:219) > ... 69 more > Caused by: org.jboss.resource.JBossResourceException: Could not create connection; - > nested throwable: (java.sql.SQLException: Connection is broken: Connection refused) > at > org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:157) > at > org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnection(InternalManagedConnectionPool.java:352) > at > org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:151) > at > org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:429) > at > org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:413) > at > org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:331) > at > org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:488) > at > org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:798) > at > org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:102) > ... 71 more > Caused by: java.sql.SQLException: Connection is broken: Connection refused > at org.hsqldb.Trace.getError(Unknown Source) > at org.hsqldb.Trace.error(Unknown Source) > at org.hsqldb.jdbcConnection.reconnectHSQL(Unknown Source) > at org.hsqldb.jdbcConnection.openHSQL(Unknown Source) > at org.hsqldb.jdbcConnection.<init>(Unknown Source) > at org.hsqldb.jdbcDriver.connect(Unknown Source) > at > org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:147) > ... 79 more > 15:12:30,827 WARN [ServiceController] Problem starting service > jboss.mq:service=PersistenceManager > org.jboss.mq.SpyJMSException: Could not resolve uncommited transactions. Message > recovery may not be accurate; - nested throwable: > (org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: > (java.sql.SQLException: Connection is broken: Connection refused); - nested > throwable: (org.jboss.resource.JBossResourceException: Could not create connection; > - nested throwable: (java.sql.SQLException: Connection is broken: Connection > refused))) > at > org.jboss.mq.pm.jdbc2.PersistenceManager.resolveAllUncommitedTXs(PersistenceManager.java:276) > at > org.jboss.mq.pm.jdbc2.PersistenceManager.startService(PersistenceManager.java:1299) > at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) > at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at > org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) > at $Proxy11.start(Unknown Source) > at org.jboss.system.ServiceController.start(ServiceController.java:392) > at org.jboss.system.ServiceController.start(ServiceController.java:408) > at org.jboss.system.ServiceController.start(ServiceController.java:408) > at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) > at $Proxy5.start(Unknown Source) > at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226) > at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613) > at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) > at $Proxy7.deploy(Unknown Source) > at > org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302) > at > org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476) > at > org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:200) > at > org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:273) > at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at > org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966) > at $Proxy0.start(Unknown Source) > at org.jboss.system.ServiceController.start(ServiceController.java:392) > at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) > at $Proxy5.start(Unknown Source) > at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226) > at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613) > at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:597) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) > at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) > at $Proxy6.deploy(Unknown Source) > at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:365) > at org.jboss.system.server.ServerImpl.start(ServerImpl.java:272) > at org.jboss.Main.boot(Main.java:150) > at org.jboss.Main$1.run(Main.java:388) > at java.lang.Thread.run(Thread.java:534) > Caused by: org.jboss.util.NestedSQLException: Could not create connection; - nested > throwable: (java.sql.SQLException: Connection is broken: Connection refused); - > nested throwable: (org.jboss.resource.JBossResourceException: Could not create > connection; - nested throwable: (java.sql.SQLException: Connection is broken: > Connection refused)) > at > org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:106) > at > org.jboss.mq.pm.jdbc2.PersistenceManager.getConnection(PersistenceManager.java:1206) > at > org.jboss.mq.pm.jdbc2.PersistenceManager.resolveAllUncommitedTXs(PersistenceManager.java:219) > ... 69 more > Caused by: org.jboss.resource.JBossResourceException: Could not create connection; - > nested throwable: (java.sql.SQLException: Connection is broken: Connection refused) > at > org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:157) > at > org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnection(InternalManagedConnectionPool.java:352) > at > org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:151) > at > org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:429) > at > org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:413) > at > org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:331) > at > org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:488) > at > org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:798) > at > org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:102) > ... 71 more > Caused by: java.sql.SQLException: Connection is broken: Connection refused > at org.hsqldb.Trace.getError(Unknown Source) > at org.hsqldb.Trace.error(Unknown Source) > at org.hsqldb.jdbcConnection.reconnectHSQL(Unknown Source) > at org.hsqldb.jdbcConnection.openHSQL(Unknown Source) > at org.hsqldb.jdbcConnection.<init>(Unknown Source) > at org.hsqldb.jdbcDriver.connect(Unknown Source) > at > org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:147) > ... 79 more -- xxxxxxxxxxxxxxxxxxxxxxxx Adrian Brock Director of Support Back Office JBoss Group, LLC xxxxxxxxxxxxxxxxxxxxxxxx ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user