第 3 章 例子
下表中列出的快速入门示例可以从 Camel Quarkus 示例 Git 存储库克隆或下载。
示例数量:2
| Example | Description |
|---|---|
| 显示如何使用 CSV 文件、汇总数据并通过 FTP 发送它 | |
| Kafka 示例 | 演示如何使用 Strimzi Operator 在 Kafka 中生成和使用消息 |
3.1. 文件使用者快速入门示例 复制链接链接已复制到粘贴板!
您可以从 Camel Quarkus 示例 下载或克隆 Quickstarts Git 存储库。该示例位于 file-bindy-ftp 目录中。
将 zip 文件的内容提取或将存储库克隆到本地文件夹,例如,名为 Quickstart 的新文件夹。
您可以从命令行在本地机器上以开发模式运行此示例。使用开发模式,您可以快速迭代开发中的集成,并对代码获得快速反馈。如需更多详细信息,请参阅 Camel Quarkus 用户指南中的开发模式 部分。
如果您需要配置容器资源限制或使 Quarkus Kubernetes 客户端信任自签名证书,您可以在 src/main/resources/application.properties 文件中找到这些配置选项。
前提条件
-
具有
集群管理员访问 OpenShift 集群的权限。 -
您可以访问 SFTP 服务器,且您已在应用程序属性配置文件中设置服务器属性(由
ftp前缀):src/main/resources/application.properties.
流程
使用 Maven 在开发模式中构建示例应用程序:
$ cd quickstarts/file-bindy-ftp $ mvn clean compile quarkus:dev应用程序每 10 秒触发计时器组件,生成一些随机的"书"数据,并在一个临时目录中创建一个带有 100 条目的 CSV 文件。控制台中会显示以下信息:
[route1] (Camel (camel-1) thread #3 - timer://generateBooks) Generating randomized books CSV data接下来,CSV 文件由文件使用者和 Bindy 读取,用于将单个数据行分到小对象中:
[route2] (Camel (camel-1) thread #1 - file:///tmp/books) Reading books CSV data from 89A0EE24CB03A69-0000000000000000接下来 Book 对象的集合被分成单独的项目,并根据 genre 属性进行聚合:
[route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 34 books for genre 'Action' [route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 31 books for genre 'Crime' [route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 35 books for genre 'Horror'最后,聚合的预订集合将回馈到 CSV 格式并上传到测试 FTP 服务器。
[route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Action-89A0EE24CB03A69-0000000000000069.csv [route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Crime-89A0EE24CB03A69-0000000000000069.csv [route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Horror-89A0EE24CB03A69-0000000000000069.csv要在 JVM 模式下运行应用程序,请输入以下命令:
$ mvn clean package -DskipTests $ java -jar target/*-runner.jar您可以输入以下命令向 OpenShift 构建和部署示例应用程序:
$ mvn clean package -DskipTests -Dquarkus.kubernetes.deploy=true检查 pod 是否正在运行:
$oc get pods NAME READY STATUS RESTARTS AGE camel-quarkus-examples-file-bindy-ftp-1-d72mb 1/1 Running 0 5m15s ssh-server-deployment-5f6f685658-jtr9n 1/1 Running 0 5m28s可选:输入以下命令来监控应用程序日志:
oc logs -f camel-quarkus-examples-file-bindy-ftp-5d48f4d85c-sjl8k