Hi Depending on the JDBC driver you can have the driver to auto-reconnect (I think jTDS supports that). However there's a catch in that: The broker looses the lock on the master/slave table, so you'll end up with both being the master (if you use jdbc-master/slave). I didn't check that with the newest version, I think there was some change to the locking in regards of refreshing the lock (http://issues.apache.org/activemq/browse/AMQ-1591). There's also the https://issues.apache.org/activemq/browse/AMQ-1350 issue that is about the behaviour when encountering an unexpected loss of the lock.
Mario On Thu, Jun 5, 2008 at 11:28 PM, jaya_srini <[EMAIL PROTECTED]> wrote: > > Hi Hiram > > We are noticing that after any SQL Server restart or network blip between > ActiveMQ and the database, after the connection or the database comes back > online activeMQ broker needs to be restarted as well i.e it doesn't > automatically re-establish connection to the database as result any message > send fails because the broker is still using the stale connection to the > database. > > Is this designed behaviour or a bug? we are using ActiveMQ 5.0.0 and the > latest version of the JSQLConnect database driver: version 5.7. The database > we are using is MS SQL Server 2005 > > Right now, in our production environment any time we have network > maintenance or database restart we also have to restart the ActiveMQ broker > which is not a good option for us. > > thanks > jaya > > > > Hiram Chirino wrote: >> >> you will have to ask your DB driver supplier to explain the >> com.jnetdirect.jsql.x: DBComms.transmit >>> exception:[java.net.SocketException error in more detail. >> >> As far as having to restart the broker for that specific error, it >> would be a no, because the the clean up task is periodic and can >> handle failing everyone in a while. It will just pickup cleaning >> where it left off the next time it runs. If it fails every time, the >> old acked messages are not going to get propertly deleted out of your >> database. >> >> On Mon, May 19, 2008 at 11:49 AM, jaya_srini <[EMAIL PROTECTED]> >> wrote: >>> >>> Hello >>> >>> We are using ActiveMQ 5.0.0 and the JDBCPersistenceAdapter. From time to >>> time we see the following message in the logs >>> >>> [Q Cleanup Timer] WARN JDBCPersistenceAdapter - Old message >>> cleanup >>> failed due to: com.jnetdirect.jsql.x: DBComms.transmit >>> exception:[java.net.SocketException: Connection reset by peer: socket >>> write >>> error] context:[(3) [Thread[ActiveMQ Cleanup Timer,5,main], IO:caedd, >>> Dbc:3941]]] >>> >>> Does this mean there is a network blip between the box that has the >>> broker >>> and the box that has the database and the broker can't connect to the >>> database? Or does this happen in other circumstances i.e when a specific >>> number of messages have been stored in DB or some other reason? >>> >>> We are using SQLServer 2005 >>> >>> >>> thanks >>> jaya >>> -- >>> View this message in context: >>> http://www.nabble.com/Database-connection-between-ActiveMQ-and-broker-tp17321330s2354p17321330.html >>> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >>> >>> >> >> >> >> -- >> Regards, >> Hiram >> >> Blog: http://hiramchirino.com >> >> Open Source SOA >> http://open.iona.com >> >> > > -- > View this message in context: > http://www.nabble.com/Database-connection-between-ActiveMQ-and-broker-tp17321330s2354p17679919.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > >