2017-02-14 3 views
1

Это действительно вопрос для команды API Google Cloud Spanner Java ...Google Cloud Гаечный: Want Java API для выполнения моих собственных попыток

Глядя на новый Google Cloud Spanner службы, оказывается, что единственный способ выполнить чтение/транзакции записи - путем предоставления обратного вызова через интерфейс TransactionRunner.

Я понимаю, что API пытается скрыть детали необходимости автоматического повторения транзакций в качестве удобства для программиста, но это ограничение является серьезной проблемой, по крайней мере для меня. Мне нужно иметь возможность управлять жизненным циклом транзакции самостоятельно, даже если это означает, что я должен выполнять свои собственные попытки (например, на основе поиска какого-либо «исключаемого» исключения).

Чтобы сделать эту проблему более конкретной, предположим, что вы хотите использовать Spring PlatformTransactionManager для Google Cloud Spanner, чтобы вписаться в ваш существующий код и использовать существующую логику повтора. Кажется невозможным сделать это с текущим API Java.

Похоже, что было бы легко расширить API в обратном режиме, чтобы добавить метод, возвращающий пользователю TransactionContext, и пусть пользователь обрабатывает повторы.

Я что-то упустил? Может ли этот альтернативный (более традиционный) стиль API транзакций быть добавлен в Java API?

+0

Я голосующий, чтобы закрыть этот вопрос как не по теме, потому что это запрос функции для продукта Google Cloud. – dunni

+1

Ну, Google говорит, чтобы перейти к stackoverflow.com по техническим вопросам: https://cloud.google.com/support/docs/community – Archie

ответ

1

Вы правы в том, что TransactionRunner является единственным способом выполнения операций чтения записи в Java-клиенте для Cloud Spanner. Мы полагаем, что большинство пользователей предпочли бы использовать это, чтобы вручную перевести свою собственную логику повтора. Но мы понимаем, что это может не соответствовать потребностям всех пользователей и хотелось бы услышать о таких случаях использования. Не могли бы вы назвать file a feature request, и мы можем продолжить обсуждение там.

+0

Выполнено - спасибо. https://github.com/GoogleCloudPlatform/google-cloud-java/issues/1627 – Archie

Смежные вопросы