import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
public class Producer {
private static String url = ActiveMQConnection.DEFAULT_BROKER_URL;
private static String QUEUE_NAME = "kesaven";
private static final Logger logger = LogManager.getLogger(Producer.class.getName());
public static void main(String[] args) throws JMSException
{
//System.out.println(url);
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue(QUEUE_NAME);
MessageProducer producer = session.createProducer(destination);
//TextMessage message = session.createTextMessage("My first log message to queue");
logger.info("My first log message to queue");
//producer.send(message);
//System.out.println("Sentage '" + message.getText() + "'");
connection.close();
}
}
我正在嘗試使用log4j2和activemq將消息記錄到隊列中。我正在使用log4j2.3和隊列我使用的是activemq 5.9.0。我能夠看到隊列中的異常消息,而不是我發送的消息。以下是隊列中的錯誤消息無法使用log4j2將消息記錄在activemq中
javax.jms.JMSException:無法從內容構建主體。 可序列化類不可用於代理。原因: 拋出java.lang.ClassNotFoundException: org.apache.logging.log4j.core.impl.Log4jLogEvent $ LogEventProxy
以下是我的Maven dependecy的pom.xml –
我也是在控制檯 –