【问题标题】:Using Log4j JMS appender to connect with ActiveMQ使用 Log4j JMS appender 连接 ActiveMQ
【发布时间】:2013-01-24 15:57:36
【问题描述】:

我正在尝试使用 ActiveMQ 将日志记录添加到我们的 Mule 应用程序,以便将所有消息写入 SQL Server 数据库。这是我在 Mule 中的 Log4j 属性文件的内容:

log4j.rootCategory=INFO, console, jms

log4j.logger.org.apache.activemq=INFO, stdout

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p %d [%t] %c: %m%n


# Mule classes
log4j.logger.org.mule=INFO
log4j.logger.com.mulesoft=INFO

# Your custom classes
log4j.logger.com.mycompany=DEBUG

# JMS Appender
log4j.appender.jms=org.apache.log4j.net.JMSAppender
log4j.appender.jms.InitialContextFactoryName=org.apache.activemq.jndi.ActiveMQInitialContextFactory
log4j.appender.jms.ProviderURL=tcp://sjc04-wduatesb1:9162
#tcp//localhost:61616
log4j.appender.jms.TopicBindingName=logTopic
log4j.appender.jms.TopicConnectionFactoryBindingName=ConnectionFactory

如您所见,我正在尝试使用 JMS appender。我还有一个 JNDI 配置文件指向要读取的主题,该文件的内容存储在 $MULE_HOME/conf/ 中是

topic.logTopic=logTopic

但是我发现即使消息在主题上被入队和出队,它也没有被写入数据库。有人对我哪里出错有任何想法或建议吗?

【问题讨论】:

  • 主题中没有排队(除非您使用持久订阅者),因此不确定您看到的排队情况。另外:什么数据库?

标签: log4j mule activemq esb


【解决方案1】:

解决此问题的一种方法是创建主题的订阅者,将消息放入队列,然后让队列消费者将消息放入数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    • 2017-01-07
    • 2015-04-11
    • 1970-01-01
    • 2020-09-25
    • 2016-06-03
    • 2015-07-05
    相关资源
    最近更新 更多