public class org.apache.activemq.store.jdbc.DefaultDatabaseLocker extends org.apache.activemq.store.jdbc.AbstractJDBCLocker
{
private static final org.slf4j.Logger LOG;
protected volatile java.sql.PreparedStatement lockCreateStatement;
protected volatile java.sql.PreparedStatement lockUpdateStatement;
protected volatile java.sql.Connection connection;
protected org.apache.activemq.util.Handler exceptionHandler;
public void <init>()
{
org.apache.activemq.store.jdbc.DefaultDatabaseLocker v;
v := @this: org.apache.activemq.store.jdbc.DefaultDatabaseLocker;
specialinvoke v.<org.apache.activemq.store.jdbc.AbstractJDBCLocker: void <init>()>();
return;
}
public void doStart() throws java.lang.Exception
{
org.apache.activemq.store.jdbc.DefaultDatabaseLocker v;
java.sql.PreparedStatement v, v, v, v, v, v, v, v;
java.lang.Exception v, v;
java.lang.Throwable v, v, v;
long v, v;
java.sql.SQLException v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.sql.Connection v, v, v, v, v, v, v, v, v;
boolean v;
org.apache.activemq.util.Handler v, v, v;
org.apache.activemq.store.jdbc.Statements v;
javax.sql.DataSource v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.InterruptedException v;
java.lang.Class v;
v := @this: org.apache.activemq.store.jdbc.DefaultDatabaseLocker;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Attempting to acquire the exclusive lock to become the Master broker");
v = virtualinvoke v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.apache.activemq.store.jdbc.Statements getStatements()>();
v = virtualinvoke v.<org.apache.activemq.store.jdbc.Statements: java.lang.String getLockCreateStatement()>();
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Locking Query is \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: javax.sql.DataSource dataSource>;
v = interfaceinvoke v.<javax.sql.DataSource: java.sql.Connection getConnection()>();
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection> = v;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
interfaceinvoke v.<java.sql.Connection: void setAutoCommit(boolean)>(0);
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String)>(v);
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement> = v;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement>;
interfaceinvoke v.<java.sql.PreparedStatement: boolean execute()>();
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement>;
if null == v goto label;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement>;
interfaceinvoke v.<java.sql.PreparedStatement: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.sql.SQLException)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Caught while closing statement: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement> = null;
goto label;
label:
v := @caughtexception;
label:
v = virtualinvoke v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: boolean isStopping()>();
if v == 0 goto label;
v = new java.lang.Exception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot start broker as being asked to shut down. Interrupted attempt to acquire lock: \u0001");
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.apache.activemq.util.Handler exceptionHandler>;
if v == null goto label;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.apache.activemq.util.Handler exceptionHandler>;
interfaceinvoke v.<org.apache.activemq.util.Handler: void handle(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.apache.activemq.util.Handler exceptionHandler>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Throwable,java.lang.Exception)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The exception handler \u threw this exception: \u while trying to handle this exception: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
goto label;
label:
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Lock failure: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
if null == v goto label;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
interfaceinvoke v.<java.sql.Connection: void rollback()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.sql.SQLException)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Caught exception during rollback on connection: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
interfaceinvoke v.<java.sql.Connection: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.sql.SQLException)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Caught exception while closing connection: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection> = null;
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
if null == v goto label;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
interfaceinvoke v.<java.sql.Connection: void rollback()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.sql.SQLException)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Caught exception during rollback on connection: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
interfaceinvoke v.<java.sql.Connection: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.sql.SQLException)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Caught exception while closing connection: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection> = null;
label:
throw v;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement>;
if null == v goto label;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement>;
interfaceinvoke v.<java.sql.PreparedStatement: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.sql.SQLException)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Caught while closing statement: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement> = null;
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement>;
if null == v goto label;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement>;
interfaceinvoke v.<java.sql.PreparedStatement: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.sql.SQLException)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Caught while closing statement: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement> = null;
label:
throw v;
label:
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: long lockAcquireSleepInterval>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to acquire lock.  Sleeping for \u milli(s) before trying again...");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: long lockAcquireSleepInterval>;
staticinvoke <java.lang.Thread: void sleep(long)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Master lock retry sleep interrupted", v);
goto label;
label:
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: javax.sql.DataSource dataSource>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.sql.DataSource)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Becoming the master on dataSource: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
return;
catch java.sql.SQLException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
}
public void doStop(org.apache.activemq.util.ServiceStopper) throws java.lang.Exception
{
java.lang.Throwable v;
java.sql.Connection v, v, v, v, v;
java.sql.SQLFeatureNotSupportedException v, v;
org.apache.activemq.util.ServiceStopper v;
java.sql.SQLException v, v, v, v;
org.apache.activemq.store.jdbc.DefaultDatabaseLocker v;
javax.sql.DataSource v, v;
java.lang.String v, v;
org.slf4j.Logger v, v, v, v, v, v;
java.sql.PreparedStatement v, v, v, v;
v := @this: org.apache.activemq.store.jdbc.DefaultDatabaseLocker;
v := @parameter: org.apache.activemq.util.ServiceStopper;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement>;
if v == null goto label;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement>;
interfaceinvoke v.<java.sql.PreparedStatement: void cancel()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: javax.sql.DataSource dataSource>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.sql.DataSource)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to cancel locking query on dataSource\u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement>;
if v == null goto label;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement>;
interfaceinvoke v.<java.sql.PreparedStatement: void cancel()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: javax.sql.DataSource dataSource>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.sql.DataSource)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to cancel locking query on dataSource\u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
if v == null goto label;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
interfaceinvoke v.<java.sql.Connection: void rollback()>();
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
interfaceinvoke v.<java.sql.Connection: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("Exception while closing connection on shutdown. This exception is ignored.", v);
label:
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement> = null;
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("Exception while rollbacking the connection on shutdown. This exception is ignored.", v);
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
interfaceinvoke v.<java.sql.Connection: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("Exception while closing connection on shutdown. This exception is ignored.", v);
label:
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement> = null;
goto label;
label:
v := @caughtexception;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
interfaceinvoke v.<java.sql.Connection: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("Exception while closing connection on shutdown. This exception is ignored.", v);
label:
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockCreateStatement> = null;
throw v;
label:
return;
catch java.sql.SQLFeatureNotSupportedException from label to label with label;
catch java.sql.SQLFeatureNotSupportedException from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.sql.SQLException from label to label with label;
}
public boolean keepAlive() throws java.io.IOException
{
java.lang.Throwable v;
java.sql.Connection v;
org.apache.activemq.store.jdbc.Statements v;
long v;
java.sql.SQLException v, v, v;
org.apache.activemq.store.jdbc.DefaultDatabaseLocker v;
int v;
java.lang.String v, v;
boolean v;
org.slf4j.Logger v, v, v, v;
java.sql.PreparedStatement v, v, v, v, v, v, v, v, v, v;
java.lang.Exception v;
v := @this: org.apache.activemq.store.jdbc.DefaultDatabaseLocker;
v = 0;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.Connection connection>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.apache.activemq.store.jdbc.Statements getStatements()>();
v = virtualinvoke v.<org.apache.activemq.store.jdbc.Statements: java.lang.String getLockUpdateStatement()>();
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String)>(v);
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement> = v;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement>;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
interfaceinvoke v.<java.sql.PreparedStatement: void setLong(int,long)>(1, v);
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement>;
virtualinvoke v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: void setQueryTimeout(java.sql.Statement)>(v);
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement>;
v = interfaceinvoke v.<java.sql.PreparedStatement: int executeUpdate()>();
if v != 1 goto label;
v = 1;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement>;
if v == null goto label;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement>;
interfaceinvoke v.<java.sql.PreparedStatement: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Failed to close statement", v);
label:
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement> = null;
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to update database lock: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement>;
if v == null goto label;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement>;
interfaceinvoke v.<java.sql.PreparedStatement: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Failed to close statement", v);
label:
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement> = null;
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement>;
if v == null goto label;
label:
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement>;
interfaceinvoke v.<java.sql.PreparedStatement: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Failed to close statement", v);
label:
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: java.sql.PreparedStatement lockUpdateStatement> = null;
label:
throw v;
label:
return v;
catch java.sql.SQLException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.sql.SQLException from label to label with label;
}
public long getLockAcquireSleepInterval()
{
long v;
org.apache.activemq.store.jdbc.DefaultDatabaseLocker v;
v := @this: org.apache.activemq.store.jdbc.DefaultDatabaseLocker;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: long lockAcquireSleepInterval>;
return v;
}
public void setLockAcquireSleepInterval(long)
{
long v;
org.apache.activemq.store.jdbc.DefaultDatabaseLocker v;
v := @this: org.apache.activemq.store.jdbc.DefaultDatabaseLocker;
v := @parameter: long;
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: long lockAcquireSleepInterval> = v;
return;
}
public org.apache.activemq.util.Handler getExceptionHandler()
{
org.apache.activemq.util.Handler v;
org.apache.activemq.store.jdbc.DefaultDatabaseLocker v;
v := @this: org.apache.activemq.store.jdbc.DefaultDatabaseLocker;
v = v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.apache.activemq.util.Handler exceptionHandler>;
return v;
}
public void setExceptionHandler(org.apache.activemq.util.Handler)
{
org.apache.activemq.util.Handler v;
org.apache.activemq.store.jdbc.DefaultDatabaseLocker v;
v := @this: org.apache.activemq.store.jdbc.DefaultDatabaseLocker;
v := @parameter: org.apache.activemq.util.Handler;
v.<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.apache.activemq.util.Handler exceptionHandler> = v;
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/store/jdbc/DefaultDatabaseLocker;");
<org.apache.activemq.store.jdbc.DefaultDatabaseLocker: org.slf4j.Logger LOG> = v;
return;
}
}