1

これは、 Google Cloud Spanner Java API チームに対する実際の質問です...

新しいGoogle Cloud Spannerサービスを見ると、読み取り/書き込みトランザクションを実行する唯一の方法は、TransactionRunnerインターフェイスを介してコールバックを提供することです。

API がプログラマーの便宜のためにトランザクションを自動的に再試行する必要性の詳細を隠そうとしていることは理解していますが、この制限は少なくとも私にとっては深刻な問題です。トランザクションのライフサイクルを自分で管理できる必要があります。たとえそれが自分で再試行を実行する必要があるとしてもです (たとえば、ある種の「再試行可能な」例外をキャッチすることに基づいて)。

この問題をより具体的にするために、SpringPlatformTransactionManagerを Google Cloud Spanner に実装して、既存のコードに適合させ、既存の再試行ロジックを使用したいとします。現在の Java API でそれを行うことは不可能のようです。

TransactionContext下位互換性のある方法で API を拡張し、ユーザーに を返すメソッドを追加して、ユーザーが再試行を処理できるようにするのは簡単なようです。

何か不足していますか?この代替 (より伝統的な) トランザクション API スタイルを Java API に追加できますか?

4

1 に答える 1