Java
Cloudflare R2 と D1、ローカルストレージ、JDBC、フレームワーク統合向けの Java モジュールです。
Java ドキュメント →R2D1 / モジュール型 JAVA 永続化
完全なドキュメントには DocumentStore、インデックス検索には IndexStore を1つずつ選びます。R2D1 はバックエンドや統合方法に関係なく、同じコレクション API を保ちます。
Latest stable: 1.8.0
Maven Central の Java ライブラリ、または Node.js と Cloudflare Workers 向けの TypeScript パッケージを使えます。
Cloudflare R2 と D1、ローカルストレージ、JDBC、フレームワーク統合向けの Java モジュールです。
Java ドキュメント →Node.js と Cloudflare Workers 向けで、Java と互換性のあるストレージ契約を使う TypeScript パッケージです。
TypeScript の概要 →R2D1 は1つの DocumentStore と1つの IndexStore を組み合わせます。それぞれの列からバックエンドを選び、設定ガイドに従ったあと、共通のコレクション API を使います。
シリアライズされた内容、IDによる読み取り、ドキュメント一覧を管理します。
フィルタとソートに使うドキュメント ID と明示的なインデックスフィールドを管理します。
2つのバックエンドを設定したあとは、どの組み合わせでも同じアノテーション、コレクションのライフサイクル、更新メソッド、インデックスクエリビルダーを使います。
@Document("users")
record User(@Id String id, @Index String country, @Index long score) {}
R2D1 database = R2D1.builder()
.collectionFactory(new PersistenceCollectionFactory(
documentStore, indexStore, documentCodec, indexStore::initialize))
.build();
R2D1Collection<User> users = database.collection(User.class);
users.put(new User("user-123", "NZ", 42));
Page<User> page = users.query()
.where("country").eq("NZ")
.sortBy("score", SortDirection.DESC)
.limit(20)
.fetch();設定、アダプターの選択、ライフサイクルのルールは はじめに.
R2D1 1.8.0 には共通 API、ストレージ adapter、Micronaut・Spring Boot 統合とともに Quarkus 拡張が含まれます。
dev.nexcraft:r2d1共通コレクション API と R2 DocumentStore、D1 IndexStore アダプター。
モジュール設定 →dev.nexcraft:r2d1-jdbcアプリケーション所有の DataSource による H2、HSQLDB、ローカル SQLite インデックス。
JDBC の設定 →dev.nexcraft:r2d1-filesystemアトミックな置換と明示的な executor 所有権を持つローカル文書ファイル。
Filesystem の設定 →dev.nexcraft:r2d1-micronaut同じフレームワーク非依存コレクション API を Micronaut 5 の bean 設定と接続。
Micronaut の設定 →dev.nexcraft:r2d1-spring-boot-starterMaven Central に公開された Spring Boot 4 starter と独立した auto-configuration。
Spring Boot の設定 →dev.nexcraft:r2d1-quarkusCDI 設定とアプリケーション所有リソースを提供する Quarkus 3.39.5 拡張。R2D1 1.8.0 に含まれます。
Quarkus の設定 →ドキュメントストアとインデックスストアを設定し、メタデータを定義してコレクションを開きます。