第 18 章 创建 HA CEP 客户端
您必须调整 CEP 客户端代码,以便与 HA CEP 服务器镜像通信。使用客户端代码参考实施中包含的示例项目。您可以在 OpenShift 环境内部或外部运行客户端代码。
流程
-
从红帽客户门户的软件下载页面下载
rhpam-7.11.0-reference- ementation.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 章 使用 Maven 存储库实施 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"); }
在执行此调用时,确保 Maven 存储库中有指定 GAV 的 KJAR。
在
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
方法。