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.
>
>

Reply via email to