在流程的ActiveMQ生产者/消费者的例子吗?
题
我使用的ActiveMQ作为在嵌入过程中的消息队列我的调查 应用程序,但我坚持我如何去启动这样的应用程序有点 起来。我设想它像这样(伪代码,当然):
configureBroker ()
broker.start ()
createProducer (broker)
producer.start ()
for each desired consumer
createConsumer (broker)
consumer.start ()
waitForSignal ()
signalProducerShutdown ()
waitForEmptyQueues ()
signalConsumerShutdown ()
broker.stop ()
我试着组装的这一个简单的版本,但我卡上怎么写 以这样的方式作为生产者和消费者,让他们永远工作,或 直到被告知退出。做这个的最好方式是什么?我对线程方面具体来说;我需要什么/想在自己的线程产卵了,等...
我是完全新的消息队列基础的应用程序,所以请详细与你的例子。
解决方案
在指定ActiveMQConnectionFactory,您可以指定“VM://”里的名字是你的经纪人的内部虚拟机的具体名称,它将启动虚拟机内的经纪人。
例如,
String broker = "vm://stackOverflowTest";
ActiveMQConnectionFactory connectionFactory =
new ActiveMQConnectionFactory(broker);
Connection amqcon = connectionFactory.createConnection();
amqcon.start();
从那里,你可以创建你的生产者或消费者一样的,如果它是在网络上。只要你的经纪人使用相同的名称,你可以有多个线程/码开/聊到同一个虚拟机实例。
这个解决方案仅允许通信与VM,它不打开任何外部端口。我假定这就是你要找既然你说你想嵌入,进程队列。
不隶属于 StackOverflow