我是Citrus的新手,所以我试图执行
航班预订样品,但我遇到了一些问题。首先,我认为有些事情
自述文件出错(https://github.com/christophd/citrus-samples/tree/master/sample-flightbooking上的readme.md)。 “到达文件夹并在Web容器中启动BookStore WebService应用程序。最简单的方法是执行”它似乎是另一个示例自述文件的一部分。
当我执行mvn jetty:run
时,jetty服务器启动但我得到了这些消息:
- 使用FixedBackOff重试{interval = 5000,currentAttempts = 4,maxAttempts = unlimited}。原因:无法连接到代理URL: TCP://本地主机:61616。原因:java.net.ConnectException:Connection 拒绝:连接11:18:22,197 ERROR ageListenerContainer |不能 刷新目标“Travel.Agency.Request.Queue”
的JMS连接
此外,当我尝试mvn integration-test
(当jetty服务器运行时),测试失败并收到这些消息:
[错误]测试运行:1,失败:1,错误:0,跳过:0,时间 已过去:4.575秒<<<失败! - 在 com.consol.citrus.samples.flightbooking.FlightBookingIT [ERROR] FlightBookingIT(com.consol.citrus.samples.flightbooking.FlightBookingIT) 经过的时间:1.514秒<<<失败! com.consol.citrus.exceptions.TestCaseFailedException:测试用例失败 引起:org.springframework.jms.UncategorizedJmsException: 在JMS处理期间发生了未分类的异常;嵌套 异常是javax.jms.JMSException:无法连接到代理URL: TCP://本地主机:61616。原因:java.net.ConnectException:Connection 拒绝:连接引起:javax.jms.JMSException:无法连接 代理URL:tcp:// localhost:61616。原因: java.net.ConnectException:连接被拒绝:连接引起: java.net.ConnectException:连接被拒绝:连接
在localhost:61616上似乎缺少某些东西(JMS经纪人,我猜?)。
您能指导我如何成功执行样品吗?
(我正在运行Windows 10)
谢谢。
答案 0 :(得分:1)
我很抱歉您对Citrus的第一印象不好。你是对的README文件,这似乎是一个复制粘贴错误。如果将其固定在回购中。
要执行的正确maven命令是:
mvn clean verify -Dembedded
embedded
参数将激活POM中的两个配置文件,activemq-embedded
和jetty-embedded
。正如他们的名字所示,这将启动一个内存中的ActiveMQ代理,以及在集成测试运行之前部署被测系统的Jetty服务器。
请注意,在其他样本中,例如sample-databind
,README建议运行mvn clean install -Dembedded=true
。这将几乎相同,但我更喜欢verify
生命周期,因为它不会将人工制品复制到本地maven存储库。此外,不需要用于配置文件激活的=true
部分,因为一旦属性存在(与其实际值无关),相应的配置文件就会被激活,请参阅
<activation>
<property>
<name>embedded</name>
</property>
</activation>