gpt4 book ai didi

java - 我将如何向 Activemq 发送消息

转载 作者:搜寻专家 更新时间:2023-11-01 01:53:33 31 4
gpt4 key购买 nike

我从不研究JMS。最近我下载了 Activemq 并将所有 conf/activemq-*.xml 文件中的端口号从 61616 更改为 61617 .我从命令提示符运行以下命令并在浏览器上打开控制台页面。

  C:\Users\Infratab Bangalore\Desktop\Queueing\apache-activemq-5.8.0\bin>activemq

enter image description here

现在我想使用 JMS 从 java 代码发送消息到 Activemq。为此,我编写了以下代码。并使用 Apache Tomcat 服务器运行我的代码。它不工作

此代码在 Eclipse 中实现。

package PackageName;

import java.io.IOException;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.activemq.ActiveMQConnectionFactory;

public class MessageProducer extends HttpServlet {
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
try {
//created ConnectionFactory object for creating connection
ConnectionFactory factory = new ActiveMQConnectionFactory("admin", "admin", "tcp://localhost:61617");
//Establish the connection
Connection connection = factory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("Test");
//Added as a producer
javax.jms.MessageProducer producer = session.createProducer(queue);
// Create and send the message
TextMessage msg = session.createTextMessage();
msg.setText("TestMessage");
producer.send(msg);
} catch (Exception e) {
// TODO: handle exception
}
}
}

我收到以下错误

 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
org.apache.activemq.ActiveMQPrefetchPolicy.<clinit>(ActiveMQPrefetchPolicy.java:30)
org.apache.activemq.ActiveMQConnectionFactory.<init>(ActiveMQConnectionFactory.java:88)
PackageName.MessageProducer.service(MessageProducer.java:20)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

你能建议我吗,我哪里写错了。

谢谢。

最佳答案

从中下载common-logging.ja r文件

http://grepcode.com/snapshot/repo1.maven.org/maven2/commons-logging/commons-logging/1.1.3/

并将其放入您的类路径中并再次运行。

关于java - 我将如何向 Activemq 发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18124790/

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