第3章 Service Registry クライアントアプリケーションの移行
既存の Service Registry クライアントアプリケーションを確認し、Maven の依存関係と Java クライアントの設定がバージョン 2.x の新しい要件を満たしていることを確認する必要があります。この依存関係には、Service Registry Java REST クライアントライブラリーまたは Kafka クライアントシリアライザー/デシリアライザー (Serdes) ライブラリーの新しい Maven 依存関係などが含まれます。また、新しいレジストリー v2 API パスに合わせて Java アプリケーション設定を更新する必要もあります。
前提条件
- 既存の Service Registry 1.1 Java アプリケーションまたは SerDes のある Kafka クライアントプロデューサーおよびコンシューマー Java アプリケーション
手順
Service Registry Java REST クライアントを使用している場合は、バージョン 2.x で再パッケージされた Service Registry Java クライアントライブラリーの Maven 依存関係を変更する必要があります。
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-client</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency>
Java クライアントアプリケーションでは、レジストリーの URL 設定を変更し、既存の v1 API パスではなく新しい v2 パスを参照するようにする必要があります。以下に例を示します。
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 クライアントの詳細は、Service Registry ユーザーガイド を参照してください。
Service Registry SerDes ライブラリーを使用している場合は、バージョン 2.x で再パッケージ化された Maven 依存関係を変更する必要があります。Service Registry 1.1 では、SerDes ライブラリーはすべて 1 つの Maven 依存関係のみで提供されていました。
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-utils-serde</artifactId> <version>1.3.2.Final-redhat-00002</version> </dependency>
Service Registry 2.x では、SerDes ライブラリーは、ユースケースに応じて、サポートされる各データ形式 (
avro
、protobuf
、およびjson schema
) ごとに 3 つの Maven 依存関係に分割されました。<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 パス:
props.putIfAbsent(AbstractKafkaSerDe.REGISTRY_URL_CONFIG_PARAM, "http://old-registry.my-company.com/api");
新規のレジストリー v2 API パス:
props.putIfAbsent(SerdeConfig.REGISTRY_URL, "http://new-registry.my-company.com/apis/registry/v2");
リファクタリングされた SerDes ライブラリーには、設定プロパティーの他の重要な変更も含まれています。SerDes 設定の詳細は、Service Registry ユーザーガイド を参照してください。
関連情報
- 詳細な設定例は、Apicurio Registry のサンプルアプリケーション を参照してください。