以编程方式启动 ActiveMQ 而不是作为服务
Starting ActiveMQ programmatically not as a service
我正在使用 ActiveMQ 并为一些消息创建生产者和消费者。
这样我创建了连接,并创建了目的地:
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(username,password,"tcp://localhost:61616");
Connection connection = factory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("MyQueue");
这样我创建生产者并发送消息:
Producer producer = session.createProducer(destination);
producer.send(msgToSend);
我创建了消费者并为其设置了一个侦听器(实现 MessageListener 接口的 class)
Consumer consumer = session.createConsumer(destination);
consumer.setMessageListener(this);
消费者连接到目的地,它正在收听消息。
当它从队列 "MyQueue" 中获取一些消息时,就会触发 MessageListener 的 onMessage() 方法并对消息执行任何我想做的事情。
我的代码可以工作,我能够生成和使用消息。生产者在服务器上,消费者在客户端(一个单独的项目)。
为了让它工作,我从 here 安装了 apache-activemq-5.14.4-bin.zip。我把依赖放在 pom.xml:
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.14.0</version>
</dependency>
嗯,现在安装的ActiveMQ是随电脑启动的服务。我不想将它安装为服务,而是在 java 中以编程方式启动和停止它。例如,按下“开始”按钮并执行代码以启动它,然后按下“停止”按钮并停止它。
我可以通过编程实现而不是将 ActiveMQ 作为服务安装吗?
是的,您可以以编程方式使用 ActiveMQ(例如在测试中)。以下是一些详细信息:http://activemq.apache.org/how-to-unit-test-jms-code.html
请按照 link 以编程方式启动和停止代理
http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html
我正在使用 ActiveMQ 并为一些消息创建生产者和消费者。
这样我创建了连接,并创建了目的地:
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(username,password,"tcp://localhost:61616");
Connection connection = factory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("MyQueue");
这样我创建生产者并发送消息:
Producer producer = session.createProducer(destination);
producer.send(msgToSend);
我创建了消费者并为其设置了一个侦听器(实现 MessageListener 接口的 class)
Consumer consumer = session.createConsumer(destination);
consumer.setMessageListener(this);
消费者连接到目的地,它正在收听消息。 当它从队列 "MyQueue" 中获取一些消息时,就会触发 MessageListener 的 onMessage() 方法并对消息执行任何我想做的事情。
我的代码可以工作,我能够生成和使用消息。生产者在服务器上,消费者在客户端(一个单独的项目)。
为了让它工作,我从 here 安装了 apache-activemq-5.14.4-bin.zip。我把依赖放在 pom.xml:
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.14.0</version>
</dependency>
嗯,现在安装的ActiveMQ是随电脑启动的服务。我不想将它安装为服务,而是在 java 中以编程方式启动和停止它。例如,按下“开始”按钮并执行代码以启动它,然后按下“停止”按钮并停止它。
我可以通过编程实现而不是将 ActiveMQ 作为服务安装吗?
是的,您可以以编程方式使用 ActiveMQ(例如在测试中)。以下是一些详细信息:http://activemq.apache.org/how-to-unit-test-jms-code.html
请按照 link 以编程方式启动和停止代理 http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html