Я довольно новичок в Cloud Spanenr.Я понял, как создать соединение (dbClient) и использовать его для транзакций и выполнения других запросов / мутаций.Но я не совсем понимаю, как создать ConnectionPooling для Cloud Spanner, а есть SpannerOptions, Session / SessionPoolOptions.Простое создание
SpannerOptions options = SpannerOptions.newBuilder().build();
Spanner spanner = options.getService();
DatabaseClient dbClient = spanner.getDatabaseClient(db);
будет обрабатывать ConnectionPooling, необходимый для корпоративных приложений.
Существует ли правильный способ создания пула соединений в стиле JDBC / Hibernate, если мы принимаем объект соединения в виде пула ивернитесь в пул для повторного использования, вместо того, чтобы создавать соединения несколько раз.
Я сделал создание объекта соединения и создал все транзакции типа с запросами и мутациями и другим процессом.Я нахожусь на уровне создания централизованной библиотеки для проверки соединения (dbClient) для нескольких дао.Невозможно получить надлежащую документацию или процесс для достижения стиля JDBC / Hibernate класса пула соединений для Cloud Spanner
SpannerOptions options = SpannerOptions.newBuilder().build();
Spanner spanner = options.getService();
try {
DatabaseId db = DatabaseId.of(options.getProjectId(),SpannerInstanceId, SpannerDatabaseId);
String clientProject = spanner.getOptions().getProjectId();
if (!db.getInstanceId().getProject().equals(clientProject)) {
System.err.println(
"Invalid project specified. Project in the database id should match"
+ "the project name set in the environment variable GCLOUD_PROJECT. Expected: "
+ clientProject);
}
DatabaseClient dbClient = spanner.getDatabaseClient(db);
dbClient
.readWriteTransaction()
.run(
new TransactionCallable<Void>() {
@Override
public Void run(TransactionContext transaction) throws Exception {
ResultSet resultSet;
В настоящее время я пытаюсь повторить то же самое для каждого метода дао, когда требуется соединение.Я ищу, чтобы создать централизованный класс для предоставления этого пула соединений формы подключения и вернуть его для пула для продолжения.