第3章 Apicurio Registry クライアントアプリケーションの移行
既存の Apicurio Registry クライアントアプリケーションを確認し、Maven の依存関係と Java クライアントの設定がバージョン 2.x の新しい要件を満たしていることを確認する必要があります。たとえば、これには、Apicurio Registry Java REST クライアントライブラリーまたは Kafka クライアントシリアライザー/デシリアライザー (Serdes) ライブラリーの新しい Maven 依存関係が含まれます。また、新しいレジストリー v2 API パスに合わせて Java アプリケーション設定を更新する必要もあります。
前提条件
- 既存の Apicurio Registry 1.1 Java アプリケーションまたは SerDes のある Kafka クライアントプロデューサーおよびコンシューマー Java アプリケーション
手順
Apicurio Registry Java REST クライアントを使用している場合は、バージョン 2.x で再パッケージされた Apicurio Registry Java クライアントライブラリーの Maven 依存関係を変更する必要があります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-client</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency>
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-client</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency>
Java クライアントアプリケーションでは、レジストリーの URL 設定を変更し、既存の v1 API パスではなく新しい v2 パスを参照するようにする必要があります。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow public class ClientExample { private static final RegistryRestClient client; public static void main(String[] args) throws Exception { // Create a registry client String registryUrl = "https://new-registry.my-company.com/apis/registry/v2"; RegistryClient client = RegistryClientFactory.create(registryUrl); } }
public class ClientExample { private static final RegistryRestClient client; public static void main(String[] args) throws Exception { // Create a registry client String registryUrl = "https://new-registry.my-company.com/apis/registry/v2"; RegistryClient client = RegistryClientFactory.create(registryUrl); } }
Java クライアントの詳細は、Red Hat build of Apicurio Registry ユーザーガイド を参照してください。
Apicurio Registry SerDes ライブラリーを使用している場合は、バージョン 2.x で再パッケージ化された Maven 依存関係を変更する必要があります。Apicurio Registry 1.1 では、SerDes ライブラリーはすべて 1 つの Maven 依存関係のみで提供されていました。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-utils-serde</artifactId> <version>1.3.2.Final-redhat-00002</version> </dependency>
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-utils-serde</artifactId> <version>1.3.2.Final-redhat-00002</version> </dependency>
Apicurio Registry 2.x では、SerDes ライブラリーは、ユースケースに応じて、サポートされる各データ形式 (
avro
、protobuf
、およびjson schema
) ごとに 3 つの Maven 依存関係に分割されました。Copy to Clipboard Copied! Toggle word wrap Toggle overflow <dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-serdes-avro-serde</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency> <dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-serdes-protobuf-serde</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency> <dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-serdes-jsonschema-serde</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency>
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-serdes-avro-serde</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency> <dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-serdes-protobuf-serde</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency> <dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-serdes-jsonschema-serde</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency>
Kafka プロデューサーおよびコンシューマーアプリケーションでは、レジストリーの URL 設定を変更し、既存の v1 API パスではなく新しい v2 パスを参照するようにする必要があります。以下に例を示します。
既存のレジストリー v1 API パス:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow props.putIfAbsent(AbstractKafkaSerDe.REGISTRY_URL_CONFIG_PARAM, "http://old-registry.my-company.com/api");
props.putIfAbsent(AbstractKafkaSerDe.REGISTRY_URL_CONFIG_PARAM, "http://old-registry.my-company.com/api");
新規のレジストリー v2 API パス:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow props.putIfAbsent(SerdeConfig.REGISTRY_URL, "http://new-registry.my-company.com/apis/registry/v2");
props.putIfAbsent(SerdeConfig.REGISTRY_URL, "http://new-registry.my-company.com/apis/registry/v2");
リファクタリングされた SerDes ライブラリーには、設定プロパティーの他の重要な変更も含まれています。SerDes 設定の詳細は、Red Hat build of Apicurio Registry ユーザーガイド を参照してください。
関連情報
- 詳細な設定例は、Apicurio Registry のサンプルアプリケーション を参照してください。