我是JMS
和Activemq
的新手。使用Google和堆栈溢出帮助我使用以下代码将来自我的Java程序的消息发送到Activemq
。
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;
//@SuppressWarnings("serial")
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("MessageTesing123");
//Added as a producer
javax.jms.MessageProducer producer = session.createProducer(queue);
// Create and send the message
TextMessage msg = session.createTextMessage();
msg.setText("TestMessage3");
producer.send(msg);
} catch (Exception e) {
// TODO: handle exception
}
}
}
如果我使用Apache Tomcat
运行此.java文件,它工作正常,但我收到以下警告。
log4j:WARN No appenders could be found for logger (org.apache.activemq.transport.WireFormatNegotiator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
我该如何解决这个问题。
感谢。
答案 0 :(得分:1)
这不是ActiveMq警告;这是一个log4j警告。
如果您在Tomcat中运行,请获取标准log4j.properties
或
log4j.xml
档案。
根据您的环境进行配置。
将日志文件放在<TOMCAT>/webapps/<MyProject>/WEB-INF/classes
,或者放入
相同路径下的WAR文件:/WEB-INF/classes
答案 1 :(得分:0)
No appenders could be found for logger ...
表示您没有与rootLogger相关的记录器。这意味着,WireFormatNegotiator正在尝试记录某些东西,但没有找到记录器。控制台,文件或其他任何东西。
例如,在我的项目中,我记录了包com.foo中的所有日志记录语句,因此我的属性如下所示:
log4j.logger.com.foo=DEBUG, MYPROJECT
...
以后我有
log4j.appender.MYPROJECT=org.apache.log4j.RollingFileAppender
和其他RollingFileAppender详细信息。 log4j.properties应该在您的类路径中。典型的位置是web-inf / classes。