public class org.springframework.jdbc.support.SQLStateSQLExceptionTranslator extends org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.jdbc.support.SQLStateSQLExceptionTranslator
super_class: org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
{
private static final java.util.Set<java.lang.String> BAD_SQL_GRAMMAR_CODES;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private static final java.util.Set<java.lang.String> DATA_INTEGRITY_VIOLATION_CODES;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private static final java.util.Set<java.lang.String> DATA_ACCESS_RESOURCE_FAILURE_CODES;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private static final java.util.Set<java.lang.String> TRANSIENT_DATA_ACCESS_RESOURCE_CODES;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private static final java.util.Set<java.lang.String> CONCURRENCY_FAILURE_CODES;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.HashSet
dup
bipush 8
invokespecial java.util.HashSet.<init>:(I)V
putstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.BAD_SQL_GRAMMAR_CODES:Ljava/util/Set;
1: new java.util.HashSet
dup
bipush 8
invokespecial java.util.HashSet.<init>:(I)V
putstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_INTEGRITY_VIOLATION_CODES:Ljava/util/Set;
2: new java.util.HashSet
dup
bipush 8
invokespecial java.util.HashSet.<init>:(I)V
putstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_ACCESS_RESOURCE_FAILURE_CODES:Ljava/util/Set;
3: new java.util.HashSet
dup
bipush 8
invokespecial java.util.HashSet.<init>:(I)V
putstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.TRANSIENT_DATA_ACCESS_RESOURCE_CODES:Ljava/util/Set;
4: new java.util.HashSet
dup
iconst_4
invokespecial java.util.HashSet.<init>:(I)V
putstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.CONCURRENCY_FAILURE_CODES:Ljava/util/Set;
5: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.BAD_SQL_GRAMMAR_CODES:Ljava/util/Set;
ldc "07"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.BAD_SQL_GRAMMAR_CODES:Ljava/util/Set;
ldc "21"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.BAD_SQL_GRAMMAR_CODES:Ljava/util/Set;
ldc "2A"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.BAD_SQL_GRAMMAR_CODES:Ljava/util/Set;
ldc "37"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.BAD_SQL_GRAMMAR_CODES:Ljava/util/Set;
ldc "42"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.BAD_SQL_GRAMMAR_CODES:Ljava/util/Set;
ldc "65"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_INTEGRITY_VIOLATION_CODES:Ljava/util/Set;
ldc "01"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
12: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_INTEGRITY_VIOLATION_CODES:Ljava/util/Set;
ldc "02"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
13: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_INTEGRITY_VIOLATION_CODES:Ljava/util/Set;
ldc "22"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
14: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_INTEGRITY_VIOLATION_CODES:Ljava/util/Set;
ldc "23"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
15: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_INTEGRITY_VIOLATION_CODES:Ljava/util/Set;
ldc "27"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
16: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_INTEGRITY_VIOLATION_CODES:Ljava/util/Set;
ldc "44"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
17: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_ACCESS_RESOURCE_FAILURE_CODES:Ljava/util/Set;
ldc "08"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
18: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_ACCESS_RESOURCE_FAILURE_CODES:Ljava/util/Set;
ldc "53"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
19: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_ACCESS_RESOURCE_FAILURE_CODES:Ljava/util/Set;
ldc "54"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
20: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_ACCESS_RESOURCE_FAILURE_CODES:Ljava/util/Set;
ldc "57"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
21: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_ACCESS_RESOURCE_FAILURE_CODES:Ljava/util/Set;
ldc "58"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
22: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.TRANSIENT_DATA_ACCESS_RESOURCE_CODES:Ljava/util/Set;
ldc "JW"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
23: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.TRANSIENT_DATA_ACCESS_RESOURCE_CODES:Ljava/util/Set;
ldc "JZ"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
24: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.TRANSIENT_DATA_ACCESS_RESOURCE_CODES:Ljava/util/Set;
ldc "S1"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
25: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.CONCURRENCY_FAILURE_CODES:Ljava/util/Set;
ldc "40"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
26: getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.CONCURRENCY_FAILURE_CODES:Ljava/util/Set;
ldc "61"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
27: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jdbc/support/SQLStateSQLExceptionTranslator;
protected org.springframework.dao.DataAccessException doTranslate(java.lang.String, java.lang.String, java.sql.SQLException);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
invokevirtual org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.getSqlState:(Ljava/sql/SQLException;)Ljava/lang/String;
astore 4
start local 4 1: aload 4
ifnull 17
aload 4
invokevirtual java.lang.String.length:()I
iconst_2
if_icmplt 17
2: aload 4
iconst_0
iconst_2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
start local 5 3: aload 0
getfield org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 5
4: aload 0
getfield org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Extracted SQL state class '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' from value '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
5: StackMap locals: java.lang.String java.lang.String
StackMap stack:
getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.BAD_SQL_GRAMMAR_CODES:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 9
6: new org.springframework.jdbc.BadSqlGrammarException
dup
aload 1
aload 2
ifnull 7
aload 2
goto 8
StackMap locals: org.springframework.jdbc.support.SQLStateSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.String java.lang.String
StackMap stack: new 6 new 6 java.lang.String
7: ldc ""
StackMap locals: org.springframework.jdbc.support.SQLStateSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.String java.lang.String
StackMap stack: new 6 new 6 java.lang.String java.lang.String
8: aload 3
invokespecial org.springframework.jdbc.BadSqlGrammarException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)V
areturn
9: StackMap locals:
StackMap stack:
getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_INTEGRITY_VIOLATION_CODES:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 11
10: new org.springframework.dao.DataIntegrityViolationException
dup
aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 3
invokespecial org.springframework.dao.DataIntegrityViolationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
11: StackMap locals:
StackMap stack:
getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.DATA_ACCESS_RESOURCE_FAILURE_CODES:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 13
12: new org.springframework.dao.DataAccessResourceFailureException
dup
aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 3
invokespecial org.springframework.dao.DataAccessResourceFailureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
13: StackMap locals:
StackMap stack:
getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.TRANSIENT_DATA_ACCESS_RESOURCE_CODES:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 15
14: new org.springframework.dao.TransientDataAccessResourceException
dup
aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 3
invokespecial org.springframework.dao.TransientDataAccessResourceException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
15: StackMap locals:
StackMap stack:
getstatic org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.CONCURRENCY_FAILURE_CODES:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 17
16: new org.springframework.dao.ConcurrencyFailureException
dup
aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 3
invokespecial org.springframework.dao.ConcurrencyFailureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 5 17: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "Timeout"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 19
18: new org.springframework.dao.QueryTimeoutException
dup
aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 3
invokespecial org.springframework.dao.QueryTimeoutException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
19: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/springframework/jdbc/support/SQLStateSQLExceptionTranslator;
0 20 1 task Ljava/lang/String;
0 20 2 sql Ljava/lang/String;
0 20 3 ex Ljava/sql/SQLException;
1 20 4 sqlState Ljava/lang/String;
3 17 5 classCode Ljava/lang/String;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
task
sql
ex
private java.lang.String getSqlState(java.sql.SQLException);
descriptor: (Ljava/sql/SQLException;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 5
2: aload 1
invokevirtual java.sql.SQLException.getNextException:()Ljava/sql/SQLException;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
astore 2
end local 3 5: StackMap locals: java.lang.String
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/jdbc/support/SQLStateSQLExceptionTranslator;
0 6 1 ex Ljava/sql/SQLException;
1 6 2 sqlState Ljava/lang/String;
3 5 3 nestedEx Ljava/sql/SQLException;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
ex
}
SourceFile: "SQLStateSQLExceptionTranslator.java"