【问题标题】:Calling an Apache Camel Spring Boot Application from Windows Batch file从 Windows 批处理文件调用 Apache Camel Spring Boot 应用程序
【发布时间】:2019-11-15 21:08:02
【问题描述】:

我开发了一个使用 Apache Camel 的 Spring Boot 应用程序,它在我的 IDE IntelliJ IDEA 中运行良好。

我的路线非常简单,因为我只想将一个文件从 A 点移动到 B 点。 只要我在 application.properties 中配置了我的 Camel-Endpoints,一切都可以正常工作并且文件已成功移动。

现在我想尝试从 Windows 批处理文件调用相同的应用程序并通过命令行参数覆盖 Camel 端点属性。

我的 .bat 文件如下所示:

@echo off
set /p quelle="Quellverzeichnis: "
set /p ziel="Zielverzeichnis: "

java -jar -DQuelle=file://%quelle%?consumer.bridgeErrorHandler=true&idempotent=true&moveFailed=.\fehler&move=.\verarbeitet&maxMessagesPerPoll=1 -DZiel=file://%ziel% myapp.jar

pause

根据文档,Camel 属性应通过-D 设置:https://camel.apache.org/spring-boot.html

但是当我执行这个命令时,我只能从命令行获得如何定义命令的帮助。 当我将其更改为 Spring-Boot-Properties 时,我收到命令 idempotentmoveFailedmaxMessagesPerPoll 未知的错误:

@echo off
set /p quelle="Quellverzeichnis: "
set /p ziel="Zielverzeichnis: "

java -jar myapp.jar --Quelle=file://%quelle%?consumer.bridgeErrorHandler=true&idempotent=true&moveFailed=.\fehler&move=.\verarbeitet&maxMessagesPerPoll=1 --Ziel=file://%ziel%

pause 

我的问题是:当我从命令行调用我的应用程序时,如何定义 Camel-Endpoints?

【问题讨论】:

    标签: java spring-boot apache-camel


    【解决方案1】:

    jvm参数需要放在-jar之前

    java -DQuelle=file://%quelle%?consumer.bridgeErrorHandler=true&idempotent=true&moveFailed=.\fehler&move=.\verarbeitet&maxMessagesPerPoll=1 -DZiel=file://%ziel% -jar  myapp.jar
    

    【讨论】:

    • 谢谢回答:我试过了,但命令行仍然只显示命令的帮助和所需的语法:-(
    猜你喜欢
    • 2020-06-14
    • 1970-01-01
    • 2017-07-28
    • 2015-08-14
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 2020-07-13
    相关资源
    最近更新 更多