public class io.vertx.ext.jdbc.impl.JDBCClientImpl implements io.vertx.ext.jdbc.JDBCClient, io.vertx.core.Closeable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.jdbc.impl.JDBCClientImpl
super_class: java.lang.Object
{
private static final java.lang.String DS_LOCAL_MAP_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "__vertx.JDBCClient.datasources"
private final io.vertx.core.impl.VertxInternal vertx;
descriptor: Lio/vertx/core/impl/VertxInternal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String datasourceName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.json.JsonObject config;
descriptor: Lio/vertx/core/json/JsonObject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, io.vertx.ext.jdbc.impl.DataSourceHolder> holders;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/ext/jdbc/impl/DataSourceHolder;>;
private final io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper helper;
descriptor: Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(io.vertx.core.Vertx, javax.sql.DataSource);
descriptor: (Lio/vertx/core/Vertx;Ljavax/sql/DataSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
aload 1
checkcast io.vertx.core.impl.VertxInternal
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.vertx:Lio/vertx/core/impl/VertxInternal;
4: aload 0
invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
invokevirtual java.util.UUID.toString:()Ljava/lang/String;
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
5: aload 0
aconst_null
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.config:Lio/vertx/core/json/JsonObject;
6: aload 0
aload 1
invokeinterface io.vertx.core.Vertx.sharedData:()Lio/vertx/core/shareddata/SharedData;
ldc "__vertx.JDBCClient.datasources"
invokeinterface io.vertx.core.shareddata.SharedData.getLocalMap:(Ljava/lang/String;)Lio/vertx/core/shareddata/LocalMap;
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
7: new io.vertx.ext.jdbc.impl.DataSourceHolder
dup
aload 2
aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.createExecutor:()Ljava/util/concurrent/ExecutorService;
aload 0
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
iconst_m1
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.createMetrics:(Ljava/lang/String;I)Lio/vertx/core/spi/metrics/PoolMetrics;
invokespecial io.vertx.ext.jdbc.impl.DataSourceHolder.<init>:(Ljavax/sql/DataSource;Ljava/util/concurrent/ExecutorService;Lio/vertx/core/spi/metrics/PoolMetrics;)V
astore 3
start local 3 8: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 0
new io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper
dup
invokespecial io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.<init>:()V
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.helper:Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
10: aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.setupCloseHook:()V
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 12 1 vertx Lio/vertx/core/Vertx;
0 12 2 dataSource Ljavax/sql/DataSource;
8 12 3 holder Lio/vertx/ext/jdbc/impl/DataSourceHolder;
MethodParameters:
Name Flags
vertx
dataSource
public void <init>(io.vertx.core.Vertx, io.vertx.core.json.JsonObject, java.lang.String);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/json/JsonObject;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
aload 1
checkcast io.vertx.core.impl.VertxInternal
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.vertx:Lio/vertx/core/impl/VertxInternal;
5: aload 0
aload 3
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
6: aload 0
aload 2
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.config:Lio/vertx/core/json/JsonObject;
7: aload 0
aload 1
invokeinterface io.vertx.core.Vertx.sharedData:()Lio/vertx/core/shareddata/SharedData;
ldc "__vertx.JDBCClient.datasources"
invokeinterface io.vertx.core.shareddata.SharedData.getLocalMap:(Ljava/lang/String;)Lio/vertx/core/shareddata/LocalMap;
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
8: aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.createProvider:()Lio/vertx/ext/jdbc/spi/DataSourceProvider;
astore 4
start local 4 9: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
aload 3
aload 4
invokedynamic apply(Lio/vertx/ext/jdbc/spi/DataSourceProvider;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
io/vertx/ext/jdbc/impl/JDBCClientImpl.lambda$0(Lio/vertx/ext/jdbc/spi/DataSourceProvider;Ljava/lang/String;Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/ext/jdbc/impl/DataSourceHolder; (6)
(Ljava/lang/String;Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/ext/jdbc/impl/DataSourceHolder;
invokeinterface java.util.Map.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
pop
10: aload 0
new io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper
dup
aload 2
invokespecial io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.<init>:(Lio/vertx/core/json/JsonObject;)V
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.helper:Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
11: aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.setupCloseHook:()V
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 13 1 vertx Lio/vertx/core/Vertx;
0 13 2 config Lio/vertx/core/json/JsonObject;
0 13 3 datasourceName Ljava/lang/String;
9 13 4 provider Lio/vertx/ext/jdbc/spi/DataSourceProvider;
MethodParameters:
Name Flags
vertx
config
datasourceName
public void <init>(io.vertx.core.Vertx, io.vertx.ext.jdbc.spi.DataSourceProvider);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/jdbc/spi/DataSourceProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
aload 1
checkcast io.vertx.core.impl.VertxInternal
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.vertx:Lio/vertx/core/impl/VertxInternal;
4: aload 0
invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
invokevirtual java.util.UUID.toString:()Ljava/lang/String;
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
5: aload 0
new io.vertx.core.json.JsonObject
dup
invokespecial io.vertx.core.json.JsonObject.<init>:()V
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.config:Lio/vertx/core/json/JsonObject;
6: aload 0
aload 1
invokeinterface io.vertx.core.Vertx.sharedData:()Lio/vertx/core/shareddata/SharedData;
ldc "__vertx.JDBCClient.datasources"
invokeinterface io.vertx.core.shareddata.SharedData.getLocalMap:(Ljava/lang/String;)Lio/vertx/core/shareddata/LocalMap;
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
7: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
aload 2
invokedynamic apply(Lio/vertx/ext/jdbc/spi/DataSourceProvider;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
io/vertx/ext/jdbc/impl/JDBCClientImpl.lambda$1(Lio/vertx/ext/jdbc/spi/DataSourceProvider;Ljava/lang/String;Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/ext/jdbc/impl/DataSourceHolder; (6)
(Ljava/lang/String;Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/ext/jdbc/impl/DataSourceHolder;
invokeinterface java.util.Map.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
pop
8: aload 0
new io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper
dup
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.config:Lio/vertx/core/json/JsonObject;
invokespecial io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.<init>:(Lio/vertx/core/json/JsonObject;)V
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.helper:Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
9: aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.setupCloseHook:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 11 1 vertx Lio/vertx/core/Vertx;
0 11 2 dataSourceProvider Lio/vertx/ext/jdbc/spi/DataSourceProvider;
MethodParameters:
Name Flags
vertx
dataSourceProvider
private void setupCloseHook();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getContext:()Lio/vertx/core/impl/ContextInternal;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
aload 0
invokeinterface io.vertx.core.impl.ContextInternal.addCloseHook:(Lio/vertx/core/Closeable;)V
3: StackMap locals: io.vertx.core.impl.ContextInternal
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
1 4 1 ctx Lio/vertx/core/impl/ContextInternal;
public io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper getHelper();
descriptor: ()Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.helper:Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
public void close(io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.close:(Lio/vertx/core/Handler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 2 1 completion Lio/vertx/core/Promise<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
completion
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.close:(Lio/vertx/core/Promise;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
public void close(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.raiseCloseFlag:()Z
ifeq 9
1: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.ext.jdbc.impl.DataSourceHolder
astore 2
start local 2 2: aload 2
invokevirtual io.vertx.ext.jdbc.impl.DataSourceHolder.decrement:()Lio/vertx/ext/jdbc/impl/DataSourceHolder;
astore 3
start local 3 3: aload 3
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.refCount:I
ifne 8
4: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
aload 2
invokeinterface java.util.Map.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 1
5: aload 2
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.dataSource:Ljavax/sql/DataSource;
ifnull 9
6: aload 0
aload 2
aload 1
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.doClose:(Lio/vertx/ext/jdbc/impl/DataSourceHolder;Lio/vertx/core/Handler;)V
7: return
8: StackMap locals: io.vertx.ext.jdbc.impl.DataSourceHolder io.vertx.ext.jdbc.impl.DataSourceHolder
StackMap stack:
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
aload 2
aload 3
invokeinterface java.util.Map.replace:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 1
end local 3 end local 2 9: StackMap locals:
StackMap stack:
aload 1
ifnull 11
10: aload 1
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 12 1 completionHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
2 9 2 current Lio/vertx/ext/jdbc/impl/DataSourceHolder;
3 9 3 next Lio/vertx/ext/jdbc/impl/DataSourceHolder;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
completionHandler
private synchronized boolean raiseCloseFlag();
descriptor: ()Z
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.closed:Z
ifne 3
1: aload 0
iconst_1
putfield io.vertx.ext.jdbc.impl.JDBCClientImpl.closed:Z
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
public io.vertx.ext.jdbc.JDBCClient update(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.sql.UpdateResult>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new io.vertx.ext.jdbc.impl.actions.JDBCUpdate
dup
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.helper:Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
aconst_null
aload 1
aconst_null
invokespecial io.vertx.ext.jdbc.impl.actions.JDBCUpdate.<init>:(Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;Lio/vertx/ext/sql/SQLOptions;Ljava/lang/String;Lio/vertx/core/json/JsonArray;)V
aload 2
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.executeDirect:(Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction;Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 2 1 sql Ljava/lang/String;
0 2 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/UpdateResult;>;>;
Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/UpdateResult;>;>;)Lio/vertx/ext/jdbc/JDBCClient;
MethodParameters:
Name Flags
sql
resultHandler
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.close:()V
1: aload 0
invokespecial java.lang.Object.finalize:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
Exceptions:
throws java.lang.Throwable
public io.vertx.ext.jdbc.JDBCClient updateWithParams(java.lang.String, io.vertx.core.json.JsonArray, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.sql.UpdateResult>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new io.vertx.ext.jdbc.impl.actions.JDBCUpdate
dup
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.helper:Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
aconst_null
aload 1
aload 2
invokespecial io.vertx.ext.jdbc.impl.actions.JDBCUpdate.<init>:(Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;Lio/vertx/ext/sql/SQLOptions;Ljava/lang/String;Lio/vertx/core/json/JsonArray;)V
aload 3
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.executeDirect:(Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction;Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 2 1 sql Ljava/lang/String;
0 2 2 in Lio/vertx/core/json/JsonArray;
0 2 3 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/UpdateResult;>;>;
Signature: (Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/UpdateResult;>;>;)Lio/vertx/ext/jdbc/JDBCClient;
MethodParameters:
Name Flags
sql
in
resultHandler
public io.vertx.ext.jdbc.JDBCClient query(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.sql.ResultSet>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new io.vertx.ext.jdbc.impl.actions.JDBCQuery
dup
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.helper:Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
aconst_null
aload 1
aconst_null
invokespecial io.vertx.ext.jdbc.impl.actions.JDBCQuery.<init>:(Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;Lio/vertx/ext/sql/SQLOptions;Ljava/lang/String;Lio/vertx/core/json/JsonArray;)V
aload 2
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.executeDirect:(Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction;Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 2 1 sql Ljava/lang/String;
0 2 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/ResultSet;>;>;
Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/ResultSet;>;>;)Lio/vertx/ext/jdbc/JDBCClient;
MethodParameters:
Name Flags
sql
resultHandler
public io.vertx.ext.jdbc.JDBCClient queryWithParams(java.lang.String, io.vertx.core.json.JsonArray, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.sql.ResultSet>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new io.vertx.ext.jdbc.impl.actions.JDBCQuery
dup
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.helper:Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
aconst_null
aload 1
aload 2
invokespecial io.vertx.ext.jdbc.impl.actions.JDBCQuery.<init>:(Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;Lio/vertx/ext/sql/SQLOptions;Ljava/lang/String;Lio/vertx/core/json/JsonArray;)V
aload 3
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.executeDirect:(Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction;Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 2 1 sql Ljava/lang/String;
0 2 2 in Lio/vertx/core/json/JsonArray;
0 2 3 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/ResultSet;>;>;
Signature: (Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/ResultSet;>;>;)Lio/vertx/ext/jdbc/JDBCClient;
MethodParameters:
Name Flags
sql
in
resultHandler
private <T> void executeDirect(io.vertx.ext.jdbc.impl.actions.AbstractJDBCAction<T>, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
descriptor: (Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction;Lio/vertx/core/Handler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.getConnection:()Lio/vertx/core/Future;
aload 1
invokedynamic apply(Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
io/vertx/ext/jdbc/impl/JDBCClientImpl.lambda$2(Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction;Lio/vertx/ext/sql/SQLConnection;)Lio/vertx/core/Future; (6)
(Lio/vertx/ext/sql/SQLConnection;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Future.flatMap:(Ljava/util/function/Function;)Lio/vertx/core/Future;
1: aload 2
invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 3 1 action Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction<TT;>;
0 3 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction<TT;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)V
MethodParameters:
Name Flags
action
handler
public io.vertx.core.Future<io.vertx.ext.sql.SQLConnection> getConnection();
descriptor: ()Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.getConnection:(Lio/vertx/core/impl/ContextInternal;)Lio/vertx/core/Future;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
Signature: ()Lio/vertx/core/Future<Lio/vertx/ext/sql/SQLConnection;>;
public io.vertx.core.Future<io.vertx.ext.sql.SQLConnection> getConnection(io.vertx.core.impl.ContextInternal);
descriptor: (Lio/vertx/core/impl/ContextInternal;)Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.getDataSourceHolder:(Lio/vertx/core/impl/ContextInternal;)Lio/vertx/core/Future;
aload 0
aload 1
invokedynamic apply(Lio/vertx/ext/jdbc/impl/JDBCClientImpl;Lio/vertx/core/impl/ContextInternal;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
io/vertx/ext/jdbc/impl/JDBCClientImpl.lambda$4(Lio/vertx/core/impl/ContextInternal;Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/core/Future; (7)
(Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Future.flatMap:(Ljava/util/function/Function;)Lio/vertx/core/Future;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 1 1 ctx Lio/vertx/core/impl/ContextInternal;
Signature: (Lio/vertx/core/impl/ContextInternal;)Lio/vertx/core/Future<Lio/vertx/ext/sql/SQLConnection;>;
MethodParameters:
Name Flags
ctx
private synchronized io.vertx.core.Future<io.vertx.ext.jdbc.impl.DataSourceHolder> getDataSourceHolder(io.vertx.core.impl.ContextInternal);
descriptor: (Lio/vertx/core/impl/ContextInternal;)Lio/vertx/core/Future;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.closed:Z
ifeq 2
1: aload 1
ldc "Client is closed"
invokeinterface io.vertx.core.impl.ContextInternal.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.ext.jdbc.impl.DataSourceHolder
astore 2
start local 2 3: aload 2
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.dataSource:Ljavax/sql/DataSource;
ifnull 5
4: aload 1
aload 2
invokeinterface io.vertx.core.impl.ContextInternal.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
areturn
5: StackMap locals: io.vertx.ext.jdbc.impl.DataSourceHolder
StackMap stack:
aload 1
aload 0
invokedynamic handle(Lio/vertx/ext/jdbc/impl/JDBCClientImpl;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/jdbc/impl/JDBCClientImpl.lambda$6(Lio/vertx/core/Promise;)V (7)
(Lio/vertx/core/Promise;)V
6: aload 2
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.creationQueue:Lio/vertx/core/impl/TaskQueue;
7: invokeinterface io.vertx.core.impl.ContextInternal.executeBlocking:(Lio/vertx/core/Handler;Lio/vertx/core/impl/TaskQueue;)Lio/vertx/core/Future;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 8 1 ctx Lio/vertx/core/impl/ContextInternal;
3 8 2 holder Lio/vertx/ext/jdbc/impl/DataSourceHolder;
Signature: (Lio/vertx/core/impl/ContextInternal;)Lio/vertx/core/Future<Lio/vertx/ext/jdbc/impl/DataSourceHolder;>;
MethodParameters:
Name Flags
ctx
private void createDataSource(io.vertx.core.Promise<io.vertx.ext.jdbc.impl.DataSourceHolder>);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.ext.jdbc.impl.DataSourceHolder
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 1
ldc "Client closed while connecting"
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/String;)V
3: return
4: StackMap locals: io.vertx.ext.jdbc.impl.DataSourceHolder
StackMap stack:
aload 2
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.dataSource:Ljavax/sql/DataSource;
ifnull 7
5: aload 1
aload 2
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
6: return
7: StackMap locals:
StackMap stack:
aload 2
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.provider:Lio/vertx/ext/jdbc/spi/DataSourceProvider;
astore 3
start local 3 8: aload 3
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.config:Lio/vertx/core/json/JsonObject;
invokeinterface io.vertx.ext.jdbc.spi.DataSourceProvider.getDataSource:(Lio/vertx/core/json/JsonObject;)Ljavax/sql/DataSource;
astore 4
start local 4 9: aload 3
aload 4
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.config:Lio/vertx/core/json/JsonObject;
invokeinterface io.vertx.ext.jdbc.spi.DataSourceProvider.maximumPoolSize:(Ljavax/sql/DataSource;Lio/vertx/core/json/JsonObject;)I
istore 5
start local 5 10: goto 14
end local 5 end local 4 StackMap locals: io.vertx.ext.jdbc.impl.JDBCClientImpl io.vertx.core.Promise io.vertx.ext.jdbc.impl.DataSourceHolder io.vertx.ext.jdbc.spi.DataSourceProvider
StackMap stack: java.sql.SQLException
11: astore 6
start local 6 12: aload 1
aload 6
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
13: return
end local 6 start local 4 start local 5 14: StackMap locals: javax.sql.DataSource int
StackMap stack:
aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.createExecutor:()Ljava/util/concurrent/ExecutorService;
astore 6
start local 6 15: aload 0
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
iload 5
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.createMetrics:(Ljava/lang/String;I)Lio/vertx/core/spi/metrics/PoolMetrics;
astore 7
start local 7 16: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.holders:Ljava/util/Map;
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.datasourceName:Ljava/lang/String;
aload 4
aload 6
aload 7
invokedynamic apply(Ljavax/sql/DataSource;Ljava/util/concurrent/ExecutorService;Lio/vertx/core/spi/metrics/PoolMetrics;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
io/vertx/ext/jdbc/impl/JDBCClientImpl.lambda$7(Ljavax/sql/DataSource;Ljava/util/concurrent/ExecutorService;Lio/vertx/core/spi/metrics/PoolMetrics;Ljava/lang/String;Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/ext/jdbc/impl/DataSourceHolder; (6)
(Ljava/lang/String;Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/ext/jdbc/impl/DataSourceHolder;
invokeinterface java.util.Map.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
checkcast io.vertx.ext.jdbc.impl.DataSourceHolder
astore 2
17: aload 2
ifnull 20
18: aload 1
aload 2
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
19: goto 27
20: StackMap locals: java.util.concurrent.ExecutorService io.vertx.core.spi.metrics.PoolMetrics
StackMap stack:
aload 7
ifnull 22
21: aload 7
invokeinterface io.vertx.core.spi.metrics.PoolMetrics.close:()V
22: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
23: aload 3
aload 4
invokeinterface io.vertx.ext.jdbc.spi.DataSourceProvider.close:(Ljavax/sql/DataSource;)V
24: goto 26
StackMap locals:
StackMap stack: java.sql.SQLException
25: pop
26: StackMap locals:
StackMap stack:
aload 1
ldc "Client closed while connecting"
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/String;)V
27: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 28 1 promise Lio/vertx/core/Promise<Lio/vertx/ext/jdbc/impl/DataSourceHolder;>;
1 28 2 current Lio/vertx/ext/jdbc/impl/DataSourceHolder;
8 28 3 provider Lio/vertx/ext/jdbc/spi/DataSourceProvider;
9 11 4 dataSource Ljavax/sql/DataSource;
14 28 4 dataSource Ljavax/sql/DataSource;
10 11 5 poolSize I
14 28 5 poolSize I
12 14 6 e Ljava/sql/SQLException;
15 28 6 exec Ljava/util/concurrent/ExecutorService;
16 28 7 metrics Lio/vertx/core/spi/metrics/PoolMetrics;
Exception table:
from to target type
8 10 11 Class java.sql.SQLException
23 24 25 Class java.sql.SQLException
Signature: (Lio/vertx/core/Promise<Lio/vertx/ext/jdbc/impl/DataSourceHolder;>;)V
MethodParameters:
Name Flags
promise
public io.vertx.ext.sql.SQLClient getConnection(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.sql.SQLConnection>>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.getConnection:()Lio/vertx/core/Future;
aload 1
invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 2 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/SQLConnection;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/SQLConnection;>;>;)Lio/vertx/ext/sql/SQLClient;
MethodParameters:
Name Flags
handler
private io.vertx.ext.jdbc.spi.DataSourceProvider createProvider();
descriptor: ()Lio/vertx/ext/jdbc/spi/DataSourceProvider;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.config:Lio/vertx/core/json/JsonObject;
ldc "provider_class"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: ldc "io.vertx.ext.jdbc.spi.impl.C3P0DataSourceProvider"
astore 1
3: StackMap locals: java.lang.String
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
ifnull 10
4: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
aload 1
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 5: aload 2
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast io.vertx.ext.jdbc.spi.DataSourceProvider
6: areturn
end local 2 7: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
goto 10
8: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
astore 2
start local 2 9: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 10: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aload 1
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 11: aload 2
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast io.vertx.ext.jdbc.spi.DataSourceProvider
12: areturn
end local 2 13: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
astore 2
start local 2 14: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
1 15 1 providerClass Ljava/lang/String;
5 7 2 clazz Ljava/lang/Class;
9 10 2 e Ljava/lang/ReflectiveOperationException;
11 13 2 clazz Ljava/lang/Class;
14 15 2 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
4 6 7 Class java.lang.ClassNotFoundException
4 6 8 Class java.lang.InstantiationException
4 6 8 Class java.lang.IllegalAccessException
10 12 13 Class java.lang.ClassNotFoundException
10 12 13 Class java.lang.InstantiationException
10 12 13 Class java.lang.IllegalAccessException
private io.vertx.core.spi.metrics.PoolMetrics createMetrics(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lio/vertx/core/spi/metrics/PoolMetrics;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.metricsSPI:()Lio/vertx/core/spi/metrics/VertxMetrics;
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
ldc "datasource"
aload 1
iload 2
invokeinterface io.vertx.core.spi.metrics.VertxMetrics.createPoolMetrics:(Ljava/lang/String;Ljava/lang/String;I)Lio/vertx/core/spi/metrics/PoolMetrics;
goto 3
StackMap locals: io.vertx.core.spi.metrics.VertxMetrics
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: io.vertx.core.spi.metrics.PoolMetrics
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 4 1 poolName Ljava/lang/String;
0 4 2 maxPoolSize I
1 4 3 metricsSPI Lio/vertx/core/spi/metrics/VertxMetrics;
MethodParameters:
Name Flags
poolName
maxPoolSize
private java.util.concurrent.ExecutorService createExecutor();
descriptor: ()Ljava/util/concurrent/ExecutorService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=1, args_size=1
start local 0 0: new java.util.concurrent.ThreadPoolExecutor
dup
iconst_1
iconst_1
1: ldc 1000
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
2: new java.util.concurrent.LinkedBlockingQueue
dup
invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
3: invokedynamic newThread()Ljava/util/concurrent/ThreadFactory;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Runnable;)Ljava/lang/Thread;
io/vertx/ext/jdbc/impl/JDBCClientImpl.lambda$8(Ljava/lang/Runnable;)Ljava/lang/Thread; (6)
(Ljava/lang/Runnable;)Ljava/lang/Thread;
4: invokespecial java.util.concurrent.ThreadPoolExecutor.<init>:(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
private void doClose(io.vertx.ext.jdbc.impl.DataSourceHolder, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/ext/jdbc/impl/DataSourceHolder;Lio/vertx/core/Handler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.metrics:Lio/vertx/core/spi/metrics/PoolMetrics;
ifnull 2
1: aload 1
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.metrics:Lio/vertx/core/spi/metrics/PoolMetrics;
invokeinterface io.vertx.core.spi.metrics.PoolMetrics.close:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.vertx:Lio/vertx/core/impl/VertxInternal;
aload 1
invokedynamic handle(Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/jdbc/impl/JDBCClientImpl.lambda$9(Lio/vertx/ext/jdbc/impl/DataSourceHolder;Lio/vertx/core/Promise;)V (6)
(Lio/vertx/core/Promise;)V
3: iconst_0
aload 1
aload 2
invokedynamic handle(Lio/vertx/ext/jdbc/impl/DataSourceHolder;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/jdbc/impl/JDBCClientImpl.lambda$10(Lio/vertx/ext/jdbc/impl/DataSourceHolder;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
4: invokeinterface io.vertx.core.impl.VertxInternal.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 6 1 holder Lio/vertx/ext/jdbc/impl/DataSourceHolder;
0 6 2 completionHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/ext/jdbc/impl/DataSourceHolder;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
holder
completionHandler
public io.vertx.ext.sql.SQLOperations update(java.lang.String, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLOperations;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.update:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.sql.SQLClient update(java.lang.String, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.update:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.sql.SQLOperations query(java.lang.String, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLOperations;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.query:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.sql.SQLClient query(java.lang.String, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.query:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.sql.SQLOperations queryStreamWithParams(java.lang.String, io.vertx.core.json.JsonArray, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLOperations;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
invokeinterface io.vertx.ext.sql.SQLClient.queryStreamWithParams:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.sql.SQLOperations updateWithParams(java.lang.String, io.vertx.core.json.JsonArray, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLOperations;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.updateWithParams:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.sql.SQLClient updateWithParams(java.lang.String, io.vertx.core.json.JsonArray, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.updateWithParams:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.sql.SQLOperations callWithParams(java.lang.String, io.vertx.core.json.JsonArray, io.vertx.core.json.JsonArray, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLOperations;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
0: aload 0
aload 1
aload 2
aload 3
aload 4
invokeinterface io.vertx.ext.sql.SQLClient.callWithParams:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.sql.SQLOperations queryStream(java.lang.String, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLOperations;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokeinterface io.vertx.ext.sql.SQLClient.queryStream:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.sql.SQLOperations call(java.lang.String, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLOperations;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokeinterface io.vertx.ext.sql.SQLClient.call:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.sql.SQLOperations queryWithParams(java.lang.String, io.vertx.core.json.JsonArray, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLOperations;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.queryWithParams:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.ext.sql.SQLClient queryWithParams(java.lang.String, io.vertx.core.json.JsonArray, io.vertx.core.Handler);
descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/sql/SQLClient;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.queryWithParams:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;Lio/vertx/core/Handler;)Lio/vertx/ext/jdbc/JDBCClient;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static io.vertx.ext.jdbc.impl.DataSourceHolder lambda$0(io.vertx.ext.jdbc.spi.DataSourceProvider, java.lang.String, io.vertx.ext.jdbc.impl.DataSourceHolder);
descriptor: (Lio/vertx/ext/jdbc/spi/DataSourceProvider;Ljava/lang/String;Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/ext/jdbc/impl/DataSourceHolder;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 1 start local 2 0: aload 2
ifnonnull 1
new io.vertx.ext.jdbc.impl.DataSourceHolder
dup
aload 0
invokespecial io.vertx.ext.jdbc.impl.DataSourceHolder.<init>:(Lio/vertx/ext/jdbc/spi/DataSourceProvider;)V
goto 2
StackMap locals:
StackMap stack:
1: aload 2
invokevirtual io.vertx.ext.jdbc.impl.DataSourceHolder.increment:()Lio/vertx/ext/jdbc/impl/DataSourceHolder;
StackMap locals:
StackMap stack: io.vertx.ext.jdbc.impl.DataSourceHolder
2: areturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 k Ljava/lang/String;
0 3 2 h Lio/vertx/ext/jdbc/impl/DataSourceHolder;
private static io.vertx.ext.jdbc.impl.DataSourceHolder lambda$1(io.vertx.ext.jdbc.spi.DataSourceProvider, java.lang.String, io.vertx.ext.jdbc.impl.DataSourceHolder);
descriptor: (Lio/vertx/ext/jdbc/spi/DataSourceProvider;Ljava/lang/String;Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/ext/jdbc/impl/DataSourceHolder;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 1 start local 2 0: aload 2
ifnonnull 1
new io.vertx.ext.jdbc.impl.DataSourceHolder
dup
aload 0
invokespecial io.vertx.ext.jdbc.impl.DataSourceHolder.<init>:(Lio/vertx/ext/jdbc/spi/DataSourceProvider;)V
goto 2
StackMap locals:
StackMap stack:
1: aload 2
invokevirtual io.vertx.ext.jdbc.impl.DataSourceHolder.increment:()Lio/vertx/ext/jdbc/impl/DataSourceHolder;
StackMap locals:
StackMap stack: io.vertx.ext.jdbc.impl.DataSourceHolder
2: areturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 k Ljava/lang/String;
0 3 2 h Lio/vertx/ext/jdbc/impl/DataSourceHolder;
private static io.vertx.core.Future lambda$2(io.vertx.ext.jdbc.impl.actions.AbstractJDBCAction, io.vertx.ext.sql.SQLConnection);
descriptor: (Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction;Lio/vertx/ext/sql/SQLConnection;)Lio/vertx/core/Future;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 1 0: aload 1
checkcast io.vertx.ext.jdbc.impl.JDBCConnectionImpl
astore 2
start local 2 1: aload 2
aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCConnectionImpl.schedule:(Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction;)Lio/vertx/core/Future;
aload 2
invokedynamic handle(Lio/vertx/ext/jdbc/impl/JDBCConnectionImpl;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/jdbc/impl/JDBCClientImpl.lambda$3(Lio/vertx/ext/jdbc/impl/JDBCConnectionImpl;Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
areturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 sqlConnection Lio/vertx/ext/sql/SQLConnection;
1 2 2 conn Lio/vertx/ext/jdbc/impl/JDBCConnectionImpl;
private io.vertx.core.Future lambda$4(io.vertx.core.impl.ContextInternal, io.vertx.ext.jdbc.impl.DataSourceHolder);
descriptor: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/core/Future;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 2 0: aload 1
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 3
start local 3 1: aload 2
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.metrics:Lio/vertx/core/spi/metrics/PoolMetrics;
ifnull 2
iconst_1
goto 3
StackMap locals: io.vertx.core.Promise
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: iload 4
ifeq 5
aload 2
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.metrics:Lio/vertx/core/spi/metrics/PoolMetrics;
invokeinterface io.vertx.core.spi.metrics.PoolMetrics.submitted:()Ljava/lang/Object;
goto 6
StackMap locals: int
StackMap stack:
5: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
6: astore 5
start local 5 7: aload 2
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.exec:Ljava/util/concurrent/ExecutorService;
aload 0
aload 2
iload 4
aload 5
aload 3
aload 1
invokedynamic run(Lio/vertx/ext/jdbc/impl/JDBCClientImpl;Lio/vertx/ext/jdbc/impl/DataSourceHolder;ZLjava/lang/Object;Lio/vertx/core/Promise;Lio/vertx/core/impl/ContextInternal;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
io/vertx/ext/jdbc/impl/JDBCClientImpl.lambda$5(Lio/vertx/ext/jdbc/impl/DataSourceHolder;ZLjava/lang/Object;Lio/vertx/core/Promise;Lio/vertx/core/impl/ContextInternal;)V (7)
()V
invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
8: aload 3
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 9 2 holder Lio/vertx/ext/jdbc/impl/DataSourceHolder;
1 9 3 res Lio/vertx/core/Promise<Lio/vertx/ext/sql/SQLConnection;>;
4 9 4 enabled Z
7 9 5 queueMetric Ljava/lang/Object;
private void lambda$6(io.vertx.core.Promise);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.ext.jdbc.impl.JDBCClientImpl.createDataSource:(Lio/vertx/core/Promise;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
0 2 1 promise Lio/vertx/core/Promise<Lio/vertx/ext/jdbc/impl/DataSourceHolder;>;
private static io.vertx.ext.jdbc.impl.DataSourceHolder lambda$7(javax.sql.DataSource, java.util.concurrent.ExecutorService, io.vertx.core.spi.metrics.PoolMetrics, java.lang.String, io.vertx.ext.jdbc.impl.DataSourceHolder);
descriptor: (Ljavax/sql/DataSource;Ljava/util/concurrent/ExecutorService;Lio/vertx/core/spi/metrics/PoolMetrics;Ljava/lang/String;Lio/vertx/ext/jdbc/impl/DataSourceHolder;)Lio/vertx/ext/jdbc/impl/DataSourceHolder;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=5, args_size=5
start local 3 start local 4 0: aload 4
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 4
aload 0
aload 1
aload 2
invokevirtual io.vertx.ext.jdbc.impl.DataSourceHolder.created:(Ljavax/sql/DataSource;Ljava/util/concurrent/ExecutorService;Lio/vertx/core/spi/metrics/PoolMetrics;)Lio/vertx/ext/jdbc/impl/DataSourceHolder;
StackMap locals:
StackMap stack: io.vertx.ext.jdbc.impl.DataSourceHolder
2: areturn
end local 4 end local 3 LocalVariableTable:
Start End Slot Name Signature
0 3 3 k Ljava/lang/String;
0 3 4 h Lio/vertx/ext/jdbc/impl/DataSourceHolder;
private static java.lang.Thread lambda$8(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)Ljava/lang/Thread;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.Thread
dup
aload 0
ldc "vertx-jdbc-service-get-connection-thread"
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 r Ljava/lang/Runnable;
private static void lambda$9(io.vertx.ext.jdbc.impl.DataSourceHolder, io.vertx.core.Promise);
descriptor: (Lio/vertx/ext/jdbc/impl/DataSourceHolder;Lio/vertx/core/Promise;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 1 0: aload 0
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.provider:Lio/vertx/ext/jdbc/spi/DataSourceProvider;
ifnull 2
1: aload 0
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.provider:Lio/vertx/ext/jdbc/spi/DataSourceProvider;
aload 0
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.dataSource:Ljavax/sql/DataSource;
invokeinterface io.vertx.ext.jdbc.spi.DataSourceProvider.close:(Ljavax/sql/DataSource;)V
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.core.Promise.complete:()V
3: goto 6
StackMap locals:
StackMap stack: java.sql.SQLException
4: astore 2
start local 2 5: aload 1
aload 2
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 7 1 promise Lio/vertx/core/Promise<Ljava/lang/Void;>;
5 6 2 e Ljava/sql/SQLException;
Exception table:
from to target type
0 3 4 Class java.sql.SQLException
private static void lambda$10(io.vertx.ext.jdbc.impl.DataSourceHolder, io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/ext/jdbc/impl/DataSourceHolder;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 2 0: aload 0
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.exec:Ljava/util/concurrent/ExecutorService;
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
1: aload 1
ifnull 3
2: aload 1
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 4 2 ar Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
private static void lambda$3(io.vertx.ext.jdbc.impl.JDBCConnectionImpl, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/ext/jdbc/impl/JDBCConnectionImpl;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 1 0: aload 0
invokevirtual io.vertx.ext.jdbc.impl.JDBCConnectionImpl.close:()V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 v Lio/vertx/core/AsyncResult<TT;>;
private void lambda$5(io.vertx.ext.jdbc.impl.DataSourceHolder, boolean, java.lang.Object, io.vertx.core.Promise, io.vertx.core.impl.ContextInternal);
descriptor: (Lio/vertx/ext/jdbc/impl/DataSourceHolder;ZLjava/lang/Object;Lio/vertx/core/Promise;Lio/vertx/core/impl/ContextInternal;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=8, locals=8, args_size=6
start local 0 0: aload 1
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.dataSource:Ljavax/sql/DataSource;
invokeinterface javax.sql.DataSource.getConnection:()Ljava/sql/Connection;
astore 6
start local 6 1: iload 2
ifeq 2
aload 1
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.metrics:Lio/vertx/core/spi/metrics/PoolMetrics;
aload 3
invokeinterface io.vertx.core.spi.metrics.PoolMetrics.begin:(Ljava/lang/Object;)Ljava/lang/Object;
goto 3
StackMap locals: java.sql.Connection
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
3: astore 7
start local 7 4: aload 4
new io.vertx.ext.jdbc.impl.JDBCConnectionImpl
dup
aload 5
aload 0
getfield io.vertx.ext.jdbc.impl.JDBCClientImpl.helper:Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
aload 6
aload 1
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.metrics:Lio/vertx/core/spi/metrics/PoolMetrics;
aload 7
invokespecial io.vertx.ext.jdbc.impl.JDBCConnectionImpl.<init>:(Lio/vertx/core/Context;Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;Ljava/sql/Connection;Lio/vertx/core/spi/metrics/PoolMetrics;Ljava/lang/Object;)V
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
end local 7 end local 6 5: goto 10
StackMap locals: io.vertx.ext.jdbc.impl.JDBCClientImpl io.vertx.ext.jdbc.impl.DataSourceHolder int java.lang.Object io.vertx.core.Promise io.vertx.core.impl.ContextInternal
StackMap stack: java.sql.SQLException
6: astore 6
start local 6 7: iload 2
ifeq 9
8: aload 1
getfield io.vertx.ext.jdbc.impl.DataSourceHolder.metrics:Lio/vertx/core/spi/metrics/PoolMetrics;
aload 3
invokeinterface io.vertx.core.spi.metrics.PoolMetrics.rejected:(Ljava/lang/Object;)V
9: StackMap locals: java.sql.SQLException
StackMap stack:
aload 4
aload 6
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
end local 6 10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/ext/jdbc/impl/JDBCClientImpl;
1 5 6 conn Ljava/sql/Connection;
4 5 7 execMetric Ljava/lang/Object;
7 10 6 e Ljava/sql/SQLException;
Exception table:
from to target type
0 5 6 Class java.sql.SQLException
}
SourceFile: "JDBCClientImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles