Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当有多个使用者时,ActiveMQ定义消息使用者_Java_Activemq - Fatal编程技术网

Java 当有多个使用者时,ActiveMQ定义消息使用者

Java 当有多个使用者时,ActiveMQ定义消息使用者,java,activemq,Java,Activemq,我正在使用ActiveMQ,我在生产环境中有一个队列,其中一个消费者 为了进行集成测试,我创建了一个小应用程序,它使用JNDI连接到ActiveMQ代理并从同一队列中使用。我想要的是分离测试消息并只使用它们 有没有办法定义谁应该是消息的使用者?或者任何其他可以帮助我实现这一目标的解决方案 我知道一种解决方案是使用镜像队列,但我不想为了测试而修改代码。为什么在生产中需要测试消息?(这很容易成为定时炸弹)。如果您足够勇敢(并且可能鲁莽:D),您可以使用,这样生产消费者就不会使用标记为test的消息,

我正在使用
ActiveMQ
,我在生产环境中有一个
队列
,其中一个消费者

为了进行集成测试,我创建了一个小应用程序,它使用JNDI连接到ActiveMQ代理并从同一队列中使用。我想要的是分离测试消息并只使用它们

有没有办法定义谁应该是消息的使用者?或者任何其他可以帮助我实现这一目标的解决方案


我知道一种解决方案是使用镜像队列,但我不想为了测试而修改代码。

为什么在生产中需要测试消息?(这很容易成为定时炸弹)。如果您足够勇敢(并且可能鲁莽:D),您可以使用,这样生产消费者就不会使用标记为test的消息,而您的测试消费者只使用测试消息


请记住,当您使用此功能时,某些JMS代理可能会大大降低速度。

您可以创建一个v主机并在那里创建队列,并将生产者和消费者指向该v主机。。。这样行吗?请详细说明一下好吗?一个mq服务器可以包含多个主机,默认情况下它使用根主机
/
。但是我们可以添加更多的v-hosts。。如果您创建一个新的v主机,我们可以在其中定义队列、绑定、交换等。。有点像在同一个系统中运行的两个虚拟机。每个v主机都是完全隔离的。mq客户端可以选择指定要连接到哪个v主机。我是根据我在拉比的经验说这些的。。您可以检查这一点,我不会针对生产运行测试,很抱歉我没有解释清楚,它将针对测试环境运行。您是否考虑过为您的测试环境使用不同的代理实例?代理不是我系统的一部分。