在我们的应用中,我们使用solace作为消息系统,在为listners编写单元测试类(使用JUNIT)时,我必须在我的本地启动solcae.相反,我试图模拟broker(apache ActiveMq)使用amqp protocl并向听众发送消息。https:/github.comapacheactivemqblobactivemq-5.15.xactivemq-amqpsrctestjavaorgapacheactivemqtransportamqpAmqpTransformerTest.java。
但当我尝试构建maven项目时,我看到了错误的信息,即
org.apache.activemq.transport.amqp.client包不存在。
我已经添加了下面的依赖关系,但我仍然面临同样的问题。请给我一些建议
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
<version>5.15.12</version>
<!-- <scope>test</scope> -->
</dependency>
<!-- Testing Dependencies -->
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-jms-client</artifactId>
<version>0.51.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-kahadb-store</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-jaas</artifactId>
<version>5.15.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
<version>5.15.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-spring</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-http</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-mqtt</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-leveldb-store</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq.tooling</groupId>
<artifactId>activemq-junit</artifactId>
<version>5.15.12</version>
<scope>test</scope>
</dependency>
我无法解决下面的编译问题,org.apache.activemq.transport.amqp.client无法解决,因为找不到这个包的依赖关系,但我已经在maven项目中添加了上述依赖关系。
import org.apache.activemq.transport.amqp.client.AmqpClient;
import org.apache.activemq.transport.amqp.client.AmqpConnection;
import org.apache.activemq.transport.amqp.client.AmqpMessage;
import org.apache.activemq.transport.amqp.client.AmqpSender;
import org.apache.activemq.transport.amqp.client.AmqpSession;
请各位专家给予建议。
不完全清楚你的测试在做什么,但是它找不到的类是那些在ActiveMQ 5.x AMQP模块的测试jar中实现的AMQP测试客户端的类,所以你肯定找不到它们的依赖关系。
在ActiveMQ broker中的AMQP测试客户端并不意味着任何人都可以使用,因为它是专门为测试Agent中的AMQP协议栈而建立的。 如果你从你的测试中删除了它的使用,你应该会有更好的运气。