使用amqp协议模拟Apache ActiveMq。

问题描述 投票:0回答:1

在我们的应用中,我们使用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 amqp
1个回答
1
投票

不完全清楚你的测试在做什么,但是它找不到的类是那些在ActiveMQ 5.x AMQP模块的测试jar中实现的AMQP测试客户端的类,所以你肯定找不到它们的依赖关系。

在ActiveMQ broker中的AMQP测试客户端并不意味着任何人都可以使用,因为它是专门为测试Agent中的AMQP协议栈而建立的。 如果你从你的测试中删除了它的使用,你应该会有更好的运气。

© www.soinside.com 2019 - 2024. All rights reserved.