第18章 HA CEP クライアントの作成
CEP クライアントコードを HA CEP サーバーイメージと通信できるように、適応する必要があります。お使いのクライアントコード向けの参照実装に含まれるサンプルプロジェクトを使用してください。また、OpenShift 環境内外を問わず、クライアントコードを実行できます。
手順
-
Red Hat カスタマーポータルの Software Downloads ページから製品配信可能ファイル
rhpam-7.11.0-reference-implementation.zip
をダウンロードします。 -
ファイルの内容を展開してから、
rhpam-7.11.0-openshift-drools-hacep-distribution.zip
ファイルを解凍します。 -
openshift-drools-hacep-distribution/sources
ディレクトリーに移動します。 -
sample-hacep-project/sample-hacep-project-client
ディレクトリーのサンプルプロジェクトをもとにクライアントコードをレビューし、変更します。このコードが 19章HA CEP クライアントおよびサーバーコードの要件 に記載の追加要件を満たしていることを確認します。 17章Mave リポジトリーを使用した HA CEP サーバーを実装して KJAR サービスを更新する手順 で説明した方法を使用する実装で KJAR バージョンを更新するには、以下のコードのように、
UpdateKJarGAV
呼び出しをクライアントに追加します。TopicsConfig envConfig = TopicsConfig.getDefaultTopicsConfig(); Properties props = getProperties(); try (RemoteStreamingKieSession producer = RemoteStreamingKieSession.create(props, envConfig)){ producer.updateKJarGAV("org.kie:fake-jar:0.1"); }
この呼び出しの実行時に、GAV を指定した KJAR が Maven リポジトリーで利用できるようにしてください。
sample-hacep-project/sample-hacep-project-client
ディレクトリーで、パスワードにpassword
と指定してキーストアを生成します。以下のコマンドを入力します。keytool -genkeypair -keyalg RSA -keystore src/main/resources/keystore.jks
OpenShift 環境から HTTPS 証明書を展開して、キーストアーに追加します。以下のコマンドを実行します。
oc extract secret/my-cluster-cluster-ca-cert --keys=ca.crt --to=- > src/main/resources/ca.crt keytool -import -trustcacerts -alias root -file src/main/resources/ca.crt -keystore src/main/resources/keystore.jks -storepass password -noprompt
-
プロジェクトの
src/main/resources
サブディレクトリーで、configuration.properties
ファイルを開き、<bootstrap-hostname>
を Kafka サーバーのルートが提供するアドレスに置き換えます。 標準の Maven コマンドを使用してプロジェクトをビルドします。
mvn clean install
sample-hacep-project-client
プロジェクトのディレクトリーに移動して、以下のコマンドを入力し、クライアントを実行します。mvn exec:java -Dexec.mainClass="org.kie.hacep.sample.client.ClientProducerDemo"
このコマンドは、
ClientProducerDemo
クラスのmain
メソッドを実行します。