Citrus 航班预订样本执行?
Citrus flightbooking sample execution?
我是 Citrus 的新手,所以我尝试执行
航班预订示例,但我遇到了一些问题。首先,我认为有些东西
自述文件有误(readme.md on https://github.com/christophd/citrus-samples/tree/master/sample-flightbooking)。 “进入文件夹并在 Web 容器中启动 BookStore WebService 应用程序。执行此操作的最简单方法是执行”它似乎是另一个示例自述文件的一部分。
当我执行 mvn jetty:run
时,码头服务器启动,但我收到这些消息:
- retrying using FixedBackOff{interval=5000, currentAttempts=4, maxAttempts=unlimited}. Cause: Could not connect to broker URL:
tcp://localhost:61616. Reason: java.net.ConnectException: Connection
refused: connect 11:18:22,197 ERROR ageListenerContainer| Could not
refresh JMS Connection for destination 'Travel.Agency.Request.Queue'
此外,当我尝试 mvn integration-test
(码头服务器运行时)时,测试失败并收到这些消息:
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time
elapsed: 4.575 s <<< FAILURE! - in
com.consol.citrus.samples.flightbooking.FlightBookingIT [ERROR]
FlightBookingIT(com.consol.citrus.samples.flightbooking.FlightBookingIT)
Time elapsed: 1.514 s <<< FAILURE!
com.consol.citrus.exceptions.TestCaseFailedException: Test case failed
Caused by: org.springframework.jms.UncategorizedJmsException:
Uncategorized exception occurred during JMS processing; nested
exception is javax.jms.JMSException: Could not connect to broker URL:
tcp://localhost:61616. Reason: java.net.ConnectException: Connection
refused: connect Caused by: javax.jms.JMSException: Could not connect
to broker URL: tcp://localhost:61616. Reason:
java.net.ConnectException: Connection refused: connect Caused by:
java.net.ConnectException: Connection refused: connect
localhost:61616 上似乎缺少某些东西(我想是 JMS 代理?)。
能否指导我如何成功执行示例?
(我是运行 Windows 10)
简答
对于您对 Citrus 的第一印象不好,我们深表歉意。您对 README 文件的看法是正确的,这似乎是一个复制粘贴错误。如果会在 repo 中修复它。
要执行的正确 maven 命令是:
mvn clean verify -Dembedded
长答案
embedded
参数将激活 POM 中的两个配置文件,activemq-embedded
和 jetty-embedded
。正如他们的名字所暗示的那样,这将启动一个内存中的 ActiveMQ 代理,以及一个在集成测试之前部署了被测系统的 Jetty 服务器 运行。
请注意,在其他示例中,例如sample-databind
,README 建议 运行ning mvn clean install -Dembedded=true
。这几乎是一样的,但我更喜欢 verify
生命周期,因为它不会将工件复制到本地 Maven 存储库。此外,配置文件激活的 =true
部分不是必需的,因为一旦 属性 存在(与其实际值无关),就会激活相应的配置文件,请参阅
<activation>
<property>
<name>embedded</name>
</property>
</activation>
我是 Citrus 的新手,所以我尝试执行
航班预订示例,但我遇到了一些问题。首先,我认为有些东西
自述文件有误(readme.md on https://github.com/christophd/citrus-samples/tree/master/sample-flightbooking)。 “进入文件夹并在 Web 容器中启动 BookStore WebService 应用程序。执行此操作的最简单方法是执行”它似乎是另一个示例自述文件的一部分。
当我执行 mvn jetty:run
时,码头服务器启动,但我收到这些消息:
- retrying using FixedBackOff{interval=5000, currentAttempts=4, maxAttempts=unlimited}. Cause: Could not connect to broker URL: tcp://localhost:61616. Reason: java.net.ConnectException: Connection refused: connect 11:18:22,197 ERROR ageListenerContainer| Could not refresh JMS Connection for destination 'Travel.Agency.Request.Queue'
此外,当我尝试 mvn integration-test
(码头服务器运行时)时,测试失败并收到这些消息:
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 4.575 s <<< FAILURE! - in com.consol.citrus.samples.flightbooking.FlightBookingIT [ERROR] FlightBookingIT(com.consol.citrus.samples.flightbooking.FlightBookingIT) Time elapsed: 1.514 s <<< FAILURE! com.consol.citrus.exceptions.TestCaseFailedException: Test case failed Caused by: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is javax.jms.JMSException: Could not connect to broker URL: tcp://localhost:61616. Reason: java.net.ConnectException: Connection refused: connect Caused by: javax.jms.JMSException: Could not connect to broker URL: tcp://localhost:61616. Reason: java.net.ConnectException: Connection refused: connect Caused by: java.net.ConnectException: Connection refused: connect
localhost:61616 上似乎缺少某些东西(我想是 JMS 代理?)。
能否指导我如何成功执行示例?
(我是运行 Windows 10)
简答
对于您对 Citrus 的第一印象不好,我们深表歉意。您对 README 文件的看法是正确的,这似乎是一个复制粘贴错误。如果会在 repo 中修复它。
要执行的正确 maven 命令是:
mvn clean verify -Dembedded
长答案
embedded
参数将激活 POM 中的两个配置文件,activemq-embedded
和 jetty-embedded
。正如他们的名字所暗示的那样,这将启动一个内存中的 ActiveMQ 代理,以及一个在集成测试之前部署了被测系统的 Jetty 服务器 运行。
请注意,在其他示例中,例如sample-databind
,README 建议 运行ning mvn clean install -Dembedded=true
。这几乎是一样的,但我更喜欢 verify
生命周期,因为它不会将工件复制到本地 Maven 存储库。此外,配置文件激活的 =true
部分不是必需的,因为一旦 属性 存在(与其实际值无关),就会激活相应的配置文件,请参阅
<activation>
<property>
<name>embedded</name>
</property>
</activation>