gpt4 book ai didi

java - 进程内 ActiveMQ 生产者/消费者示例?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:58 25 4
gpt4 key购买 nike

我正在研究使用 ActiveMQ 作为我的嵌入式进程内消息队列应用程序,但我对如何启动这样的应用程序有点困惑向上。我设想它是这样的(当然是伪代码):

configureBroker ()
broker.start ()

createProducer (broker)
producer.start ()

for each desired consumer
createConsumer (broker)
consumer.start ()

waitForSignal ()
signalProducerShutdown ()

waitForEmptyQueues ()
signalConsumerShutdown ()

broker.stop ()

我试图组装一个简单的版本,但我对如何编写感到困惑让生产者和消费者永远工作的方式,或者直到被告知退出。做这个的最好方式是什么?我专门谈论线程方面;我需要/想要在它自己的线程中产生什么,等等...

我对基于消息队列的应用程序完全陌生,所以请详细介绍您的示例。

最佳答案

当您指定 ActiveMQConnectionFactory 时,您可以指定“vm://”,其中名称是您的代理的内部虚拟机特定名称,它将在 VM 内启动代理。

例如,

String broker = "vm://stackOverflowTest";
ActiveMQConnectionFactory connectionFactory =
new ActiveMQConnectionFactory(broker);
Connection amqcon = connectionFactory.createConnection();
amqcon.start();

从那里您可以像在网络上一样创建您的生产者或消费者。只要您为代理使用相同的名称,就可以让多个线程/代码打开/与同一个 VM 实例对话。

此解决方案只允许与 VM 通信,不开放任何外部端口。我假设这就是您要找的东西,因为您说您想要嵌入式进程内队列。

关于java - 进程内 ActiveMQ 生产者/消费者示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/744077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com