Avoid broker stop (within TomEE)

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Avoid broker stop (within TomEE)

Thomas Schuler
Hi!

We are working with TomEE and use ActiveMQ as JMS messaging provider.
Sporadically we see log messages like:

Sep 9, 2013 1:38:55 PM org.apache.activemq.store.jdbc.DefaultDatabaseLocker keepAlive
SEVERE: Failed to update database lock: com.microsoft.sqlserver.jdbc.SQLServerException: The query has timed out.
com.microsoft.sqlserver.jdbc.SQLServerException: The query has timed out.
        at com.microsoft.sqlserver.jdbc.TDSCommand.checkForInterrupt(IOBuffer.java:5918)
        at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:70)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1510)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:404)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
        at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:314)
        at org.apache.activemq.store.jdbc.DefaultDatabaseLocker.keepAlive(DefaultDatabaseLocker.java:184)
        at org.apache.activemq.broker.LockableServiceSupport.keepLockAlive(LockableServiceSupport.java:115)
        at org.apache.activemq.broker.LockableServiceSupport$1.run(LockableServiceSupport.java:88)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Sep 9, 2013 1:38:55 PM org.apache.activemq.broker.LockableServiceSupport stopBroker
INFO: localhost, no longer able to keep the exclusive lock so giving up being a master

From that time on TomEE is still running but sending / retrieving JMS is not possible any more.

Is there a configuration parameter that avoids stopping the broker even if e.g. database for persistence is down?

Best regards,
Thomas
Reply | Threaded
Open this post in threaded view
|

Re: Avoid broker stop (within TomEE)

ceposta
yah, take a look at this JIRA https://issues.apache.org/jira/browse/AMQ-4526
has been added for 5.9.x (soon to be released)


On Mon, Sep 16, 2013 at 6:53 AM, Thomas Schuler <[hidden email]
> wrote:

> Hi!
>
> We are working with TomEE and use ActiveMQ as JMS messaging provider.
> Sporadically we see log messages like:
>
> Sep 9, 2013 1:38:55 PM org.apache.activemq.store.jdbc.DefaultDatabaseLocker
> keepAlive
> SEVERE: Failed to update database lock:
> com.microsoft.sqlserver.jdbc.SQLServerException: The query has timed out.
> com.microsoft.sqlserver.jdbc.SQLServerException: The query has timed out.
>         at
>
> com.microsoft.sqlserver.jdbc.TDSCommand.checkForInterrupt(IOBuffer.java:5918)
>         at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:70)
>         at
>
> com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1510)
>         at
>
> com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:404)
>         at
>
> com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
>         at
> com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
>         at
>
> com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
>         at
>
> com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
>         at
>
> com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
>         at
>
> com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:314)
>         at
>
> org.apache.activemq.store.jdbc.DefaultDatabaseLocker.keepAlive(DefaultDatabaseLocker.java:184)
>         at
>
> org.apache.activemq.broker.LockableServiceSupport.keepLockAlive(LockableServiceSupport.java:115)
>         at
>
> org.apache.activemq.broker.LockableServiceSupport$1.run(LockableServiceSupport.java:88)
>         at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>         at
> java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
>         at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
>         at
>
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
>         at
>
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
>         at
>
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> Sep 9, 2013 1:38:55 PM org.apache.activemq.broker.LockableServiceSupport
> stopBroker
> INFO: localhost, no longer able to keep the exclusive lock so giving up
> being a master
>
> From that time on TomEE is still running but sending / retrieving JMS is
> not
> possible any more.
>
> Is there a configuration parameter that avoids stopping the broker even if
> e.g. database for persistence is down?
>
> Best regards,
> Thomas
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Avoid-broker-stop-within-TomEE-tp4671531.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



--
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta