public class org.apache.activemq.store.jdbc.LeaseDatabaseLocker extends org.apache.activemq.store.jdbc.AbstractJDBCLocker
{
private static final org.slf4j.Logger LOG;
protected int maxAllowableDiffFromDBTime;
protected long diffFromCurrentTime;
protected java.lang.String leaseHolderId;
protected boolean handleStartException;
public void <init>()
{
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
specialinvoke v.<org.apache.activemq.store.jdbc.AbstractJDBCLocker: void <init>()>();
v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: int maxAllowableDiffFromDBTime> = 0;
v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long diffFromCurrentTime> = 9223372036854775807L;
return;
}
public void doStart() throws java.lang.Exception
{
java.sql.Connection v;
java.util.Date v;
byte v;
org.apache.activemq.broker.LockableServiceSupport v, v;
boolean v, v, v, v, v;
java.sql.PreparedStatement v;
java.lang.Exception v, v;
java.lang.Throwable v;
org.apache.activemq.store.jdbc.Statements v;
long v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
int v;
javax.sql.DataSource v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v;
java.lang.RuntimeException v;
java.util.concurrent.TimeUnit v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long lockAcquireSleepInterval>;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.broker.LockableServiceSupport lockable>;
v = virtualinvoke v.<org.apache.activemq.broker.LockableServiceSupport: long getLockKeepAlivePeriod()>();
v = v cmp v;
if v >= 0 goto label;
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.broker.LockableServiceSupport lockable>;
v = virtualinvoke v.<org.apache.activemq.broker.LockableServiceSupport: long getLockKeepAlivePeriod()>();
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long lockAcquireSleepInterval>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long,long)>(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[])>("LockableService keep alive period: \u, which renews the lease, is greater than lockAcquireSleepInterval: \u, the lease duration. These values will allow the lease to expire.");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
label:
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
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[])>("\u attempting to acquire exclusive lease to become the master");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.store.jdbc.Statements getStatements()>();
v = virtualinvoke v.<org.apache.activemq.store.jdbc.Statements: java.lang.String getLeaseObtainStatement()>();
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u locking Query is \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
v = 0L;
label:
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: boolean isStopping()>();
if v != 0 goto label;
v = null;
v = null;
label:
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.sql.Connection getConnection()>();
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long initTimeDiff(java.sql.Connection)>(v);
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String)>(v);
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void setQueryTimeout(java.sql.Statement)>(v);
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long diffFromCurrentTime>;
v = v + v;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
interfaceinvoke v.<java.sql.PreparedStatement: void setString(int,java.lang.String)>(1, v);
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long lockAcquireSleepInterval>;
v = v + v;
interfaceinvoke v.<java.sql.PreparedStatement: void setLong(int,long)>(2, v);
interfaceinvoke v.<java.sql.PreparedStatement: void setLong(int,long)>(3, v);
v = interfaceinvoke v.<java.sql.PreparedStatement: int executeUpdate()>();
if v != 1 goto label;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: boolean keepAlive()>();
if v == 0 goto label;
label:
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Statement)>(v);
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Connection)>(v);
goto label;
label:
specialinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void reportLeasOwnerShipAndDuration(java.sql.Connection)>(v);
label:
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Statement)>(v);
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Connection)>(v);
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Exception)>(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[])>("\u lease acquire failure: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: 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.LeaseDatabaseLocker: boolean handleStartException>;
if v == 0 goto label;
throw v;
label:
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Statement)>(v);
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Connection)>(v);
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Statement)>(v);
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Connection)>(v);
throw v;
label:
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long lockAcquireSleepInterval>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,long)>(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[])>("\u failed to acquire lease.  Sleeping for \u milli(s) before trying again...");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long lockAcquireSleepInterval>;
virtualinvoke v.<java.util.concurrent.TimeUnit: void sleep(long)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: boolean isStopping()>();
if v == 0 goto label;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
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[])>("\u failing lease acquire due to stop");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
v = new java.util.Date;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long lockAcquireSleepInterval>;
v = v + v;
specialinvoke v.<java.util.Date: void <init>(long)>(v);
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: javax.sql.DataSource dataSource>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.util.Date,javax.sql.DataSource)>(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[])>("\u, becoming master with lease expiry \u on dataSource: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
return;
catch java.lang.Exception 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.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void reportLeasOwnerShipAndDuration(java.sql.Connection) throws java.sql.SQLException
{
java.lang.Throwable v;
java.sql.Connection v;
org.slf4j.Logger v;
java.util.Date v;
org.apache.activemq.store.jdbc.Statements v;
long v;
java.sql.PreparedStatement v;
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
java.sql.ResultSet v;
java.lang.String v, v, v, v;
boolean v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v := @parameter: java.sql.Connection;
v = null;
label:
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.store.jdbc.Statements getStatements()>();
v = virtualinvoke v.<org.apache.activemq.store.jdbc.Statements: java.lang.String getLeaseOwnerStatement()>();
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String)>(v);
v = interfaceinvoke v.<java.sql.PreparedStatement: java.sql.ResultSet executeQuery()>();
label:
v = interfaceinvoke v.<java.sql.ResultSet: boolean next()>();
if v == 0 goto label;
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
v = interfaceinvoke v.<java.sql.ResultSet: java.lang.String getString(int)>(1);
v = new java.util.Date;
v = interfaceinvoke v.<java.sql.ResultSet: long getLong(int)>(2);
specialinvoke v.<java.util.Date: void <init>(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.util.Date)>(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[])>("\u Lease held by \u till \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
goto label;
label:
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Statement)>(v);
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Statement)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected long initTimeDiff(java.sql.Connection) throws java.sql.SQLException
{
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
java.sql.Connection v;
byte v;
int v;
long v, v, v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v := @parameter: java.sql.Connection;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long diffFromCurrentTime>;
v = 9223372036854775807L cmp v;
if v != 0 goto label;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: int maxAllowableDiffFromDBTime>;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long determineTimeDifference(java.sql.Connection)>(v);
v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long diffFromCurrentTime> = v;
goto label;
label:
v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long diffFromCurrentTime> = 0L;
label:
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long diffFromCurrentTime>;
return v;
}
protected long determineTimeDifference(java.sql.Connection) throws java.sql.SQLException
{
java.lang.Throwable v, v;
java.sql.Connection v;
org.apache.activemq.store.jdbc.Statements v;
long v, v, v, v, v, v;
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
byte v;
java.sql.ResultSet v;
int v;
java.lang.String v, v, v;
boolean v;
org.slf4j.Logger v;
java.sql.Timestamp v;
java.sql.PreparedStatement v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v := @parameter: java.sql.Connection;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.store.jdbc.Statements getStatements()>();
v = virtualinvoke v.<org.apache.activemq.store.jdbc.Statements: java.lang.String getCurrentDateTime()>();
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String)>(v);
label:
v = interfaceinvoke v.<java.sql.PreparedStatement: java.sql.ResultSet executeQuery()>();
label:
v = 0L;
v = interfaceinvoke v.<java.sql.ResultSet: boolean next()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.sql.ResultSet: java.sql.Timestamp getTimestamp(int)>(1);
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = virtualinvoke v.<java.sql.Timestamp: long getTime()>();
v = v - v;
v = staticinvoke <java.lang.Math: long abs(long)>(v);
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: int maxAllowableDiffFromDBTime>;
v = v cmp v;
if v <= 0 goto label;
v = neg v;
label:
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,long,java.sql.Timestamp)>(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[])>("\u diff adjust from db: \u, db time: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
label:
v = v;
label:
interfaceinvoke v.<java.sql.ResultSet: void close()>();
label:
interfaceinvoke v.<java.sql.PreparedStatement: void close()>();
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void doStop(org.apache.activemq.util.ServiceStopper) throws java.lang.Exception
{
org.apache.activemq.broker.BrokerService v, v;
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
org.apache.activemq.broker.LockableServiceSupport v, v;
org.apache.activemq.util.ServiceStopper v;
boolean v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v := @parameter: org.apache.activemq.util.ServiceStopper;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.broker.LockableServiceSupport lockable>;
v = virtualinvoke v.<org.apache.activemq.broker.LockableServiceSupport: org.apache.activemq.broker.BrokerService getBrokerService()>();
if v == null goto label;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.broker.LockableServiceSupport lockable>;
v = virtualinvoke v.<org.apache.activemq.broker.LockableServiceSupport: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isRestartRequested()>();
if v == 0 goto label;
return;
label:
specialinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void releaseLease()>();
return;
}
private void releaseLease()
{
java.lang.Throwable v;
java.sql.Connection v;
org.slf4j.Logger v, v;
org.apache.activemq.store.jdbc.Statements v;
java.sql.PreparedStatement v;
java.lang.Exception v;
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
int v;
java.lang.String v, v, v, v, v, v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v = null;
v = null;
label:
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.sql.Connection getConnection()>();
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.store.jdbc.Statements getStatements()>();
v = virtualinvoke v.<org.apache.activemq.store.jdbc.Statements: java.lang.String getLeaseUpdateStatement()>();
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String)>(v);
interfaceinvoke v.<java.sql.PreparedStatement: void setString(int,java.lang.String)>(1, null);
interfaceinvoke v.<java.sql.PreparedStatement: void setLong(int,long)>(2, 0L);
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
interfaceinvoke v.<java.sql.PreparedStatement: void setString(int,java.lang.String)>(3, v);
v = interfaceinvoke v.<java.sql.PreparedStatement: int executeUpdate()>();
if v != 1 goto label;
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
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[])>("\u, released lease");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
label:
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Statement)>(v);
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Connection)>(v);
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Exception)>(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[])>("\u failed to release lease: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
label:
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Statement)>(v);
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Connection)>(v);
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Statement)>(v);
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Connection)>(v);
throw v;
label:
return;
catch java.lang.Exception 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;
}
public boolean keepAlive() throws java.io.IOException
{
java.lang.Throwable v;
java.sql.Connection v;
org.apache.activemq.store.jdbc.Statements v;
long v, v, v, v, v;
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
org.apache.activemq.broker.LockableServiceSupport v;
int v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v;
org.apache.activemq.broker.BrokerService v;
org.slf4j.Logger v, v;
java.io.IOException v;
java.sql.PreparedStatement v;
java.lang.Exception v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.store.jdbc.Statements getStatements()>();
v = virtualinvoke v.<org.apache.activemq.store.jdbc.Statements: java.lang.String getLeaseUpdateStatement()>();
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u, lease keepAlive Query is \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
v = null;
v = null;
label:
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.sql.Connection getConnection()>();
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long initTimeDiff(java.sql.Connection)>(v);
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String)>(v);
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void setQueryTimeout(java.sql.Statement)>(v);
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long diffFromCurrentTime>;
v = v + v;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
interfaceinvoke v.<java.sql.PreparedStatement: void setString(int,java.lang.String)>(1, v);
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long lockAcquireSleepInterval>;
v = v + v;
interfaceinvoke v.<java.sql.PreparedStatement: void setLong(int,long)>(2, v);
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
interfaceinvoke v.<java.sql.PreparedStatement: void setString(int,java.lang.String)>(3, v);
v = interfaceinvoke v.<java.sql.PreparedStatement: int executeUpdate()>();
if v != 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v != 0 goto label;
specialinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void reportLeasOwnerShipAndDuration(java.sql.Connection)>(v);
label:
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Statement)>(v);
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Connection)>(v);
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String getLeaseHolderId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Exception)>(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[])>("\u, failed to update lease: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
v = staticinvoke <org.apache.activemq.util.IOExceptionSupport: java.io.IOException create(java.lang.Exception)>(v);
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.broker.LockableServiceSupport lockable>;
v = virtualinvoke v.<org.apache.activemq.broker.LockableServiceSupport: org.apache.activemq.broker.BrokerService getBrokerService()>();
virtualinvoke v.<org.apache.activemq.broker.BrokerService: void handleIOException(java.io.IOException)>(v);
throw v;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Statement)>(v);
virtualinvoke v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: void close(java.sql.Connection)>(v);
throw v;
label:
return v;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public java.lang.String getLeaseHolderId()
{
org.apache.activemq.broker.BrokerService v, v;
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
org.apache.activemq.broker.LockableServiceSupport v, v;
java.lang.String v, v, v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String leaseHolderId>;
if v != null goto label;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.broker.LockableServiceSupport lockable>;
v = virtualinvoke v.<org.apache.activemq.broker.LockableServiceSupport: org.apache.activemq.broker.BrokerService getBrokerService()>();
if v == null goto label;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.apache.activemq.broker.LockableServiceSupport lockable>;
v = virtualinvoke v.<org.apache.activemq.broker.LockableServiceSupport: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: java.lang.String getBrokerName()>();
v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String leaseHolderId> = v;
label:
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String leaseHolderId>;
return v;
}
public void setLeaseHolderId(java.lang.String)
{
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
java.lang.String v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v := @parameter: java.lang.String;
v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String leaseHolderId> = v;
return;
}
public int getMaxAllowableDiffFromDBTime()
{
int v;
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: int maxAllowableDiffFromDBTime>;
return v;
}
public void setMaxAllowableDiffFromDBTime(int)
{
int v;
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v := @parameter: int;
v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: int maxAllowableDiffFromDBTime> = v;
return;
}
public boolean isHandleStartException()
{
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
boolean v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: boolean handleStartException>;
return v;
}
public void setHandleStartException(boolean)
{
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
boolean v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v := @parameter: boolean;
v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: boolean handleStartException> = v;
return;
}
public java.lang.String toString()
{
org.apache.activemq.store.jdbc.LeaseDatabaseLocker v;
long v, v;
java.lang.String v, v;
v := @this: org.apache.activemq.store.jdbc.LeaseDatabaseLocker;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: java.lang.String leaseHolderId>;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long lockAcquireSleepInterval>;
v = v.<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: long lockAcquireSleepInterval>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,long,long)>(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[])>("LeaseDatabaseLocker owner:\u,duration:\u,renew:\u0001");
return v;
}
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/LeaseDatabaseLocker;");
<org.apache.activemq.store.jdbc.LeaseDatabaseLocker: org.slf4j.Logger LOG> = v;
return;
}
}