第 4 章 例子


下表中列出的快速入门示例可以从 Camel Quarkus Examples Git 存储库克隆或下载。

示例数:1

Expand
示例描述

带有 Bindy 和 FTP 的文件消费者

演示了如何使用 CSV 文件,marshal 和 unmarshal,并通过 FTP 将其发送。

4.1. 文件消费者快速入门示例

您可以从 Camel Quarkus Examples Git 仓库下载或克隆快速入门。示例位于 file-bindy-ftp 目录中。

提取 zip 文件的内容或将存储库克隆到本地文件夹,例如一个名为 quickstarts 的新文件夹。

您可以在命令行中以开发模式运行此示例。通过使用开发模式,您可以快速迭代开发中的集成,并快速获得对代码的反馈。如需了解更多详细信息,请参阅 Camel Quarkus 用户指南中的开发模式 部分。

注意

如果您需要配置容器资源限制或启用 Quarkus Kubernetes 客户端来信任自签名证书,您可以在 src/main/resources/application.properties 文件中找到这些配置选项。

先决条件

  • 集群管理员 对 OpenShift 集群的访问权限。
  • 您可以访问 SFTP 服务器,并且您已在应用属性配置文件中设置服务器属性(由 ftp前缀): src/main/resources/application.properties

流程

  1. 使用 Maven 以开发模式构建示例应用程序:

    $ cd quickstarts/file-bindy-ftp
    $ mvn clean compile quarkus:dev
    Copy to Clipboard Toggle word wrap

    应用程序每 10 秒触发定时器组件,生成一些随机的"books"数据,并在带有 100 条目的临时目录中创建 CSV 文件。在控制台中显示以下信息:

    [route1] (Camel (camel-1) thread #3 - timer://generateBooks) Generating randomized books CSV data
    Copy to Clipboard Toggle word wrap

    接下来,CSV 文件由文件消费者读取,Bindy 用于将单个数据行放入 Book 对象:

    [route2] (Camel (camel-1) thread #1 - file:///tmp/books) Reading books CSV data from 89A0EE24CB03A69-0000000000000000
    Copy to Clipboard Toggle word wrap

    接下来,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'
    Copy to Clipboard Toggle word wrap

    最后,聚合的书集合可以返回至 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
    Copy to Clipboard Toggle word wrap
  2. 要在 JVM 模式下运行应用程序,请输入以下命令:

    $ mvn clean package -DskipTests
    $ java -jar target/*-runner.jar
    Copy to Clipboard Toggle word wrap
  3. 您可以输入以下命令来将示例应用程序构建和部署到 OpenShift:

    $ mvn clean package -DskipTests -Dquarkus.kubernetes.deploy=true
    Copy to Clipboard Toggle word wrap
  4. 检查 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
    Copy to Clipboard Toggle word wrap
  5. 可选:输入以下命令监控应用程序日志:

    oc logs -f camel-quarkus-examples-file-bindy-ftp-5d48f4d85c-sjl8k
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat