コード例 #1
0
 /*
 Create client with shared datasource
  */
 public JDBCClientImpl(Vertx vertx, JsonObject config, String datasourceName) {
   Objects.requireNonNull(vertx);
   Objects.requireNonNull(config);
   Objects.requireNonNull(datasourceName);
   this.vertx = vertx;
   this.holder = lookupHolder(datasourceName, config);
   this.exec = holder.exec();
   this.ds = holder.ds();
 }
コード例 #2
0
 private DataSourceHolder lookupHolder(String datasourceName, JsonObject config) {
   synchronized (vertx) {
     LocalMap<String, DataSourceHolder> map = vertx.sharedData().getLocalMap(DS_LOCAL_MAP_NAME);
     DataSourceHolder theHolder = map.get(datasourceName);
     if (theHolder == null) {
       theHolder = new DataSourceHolder(config, () -> removeFromMap(map, datasourceName));
       map.put(datasourceName, theHolder);
     } else {
       theHolder.incRefCount();
     }
     return theHolder;
   }
 }
コード例 #3
0
 /*
 Create client with specific datasource
  */
 public JDBCClientImpl(Vertx vertx, DataSource dataSource) {
   Objects.requireNonNull(vertx);
   Objects.requireNonNull(dataSource);
   this.vertx = vertx;
   this.holder = new DataSourceHolder(dataSource);
   this.exec = holder.exec();
   this.ds = dataSource;
 }
コード例 #4
0
 @Override
 public void close() {
   holder.close();
 }