1

すべてのメッセージが SQL Server データベースに書き込まれるように、ActiveMQ を使用して Mule アプリケーションにログを追加しようとしています。これは、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 アペンダーを使用しようとしています。また、読み取り対象のトピックを指す JNDI 構成ファイルもあります。$MULE_HOME/conf/ に保存されているそのファイルの内容は次のとおりです。

topic.logTopic=logTopic

ただし、トピックでメッセージがキューに入れられたりキューから取り出されたりしても、データベースに書き込まれていません。私がどこで間違っているかについて、誰かアイデアや提案はありますか?

4

1 に答える 1

0

これを解決する 1 つの方法は、メッセージをキューに入れるトピックへのサブスクライバーを作成し、キュー コンシューマーにメッセージを DB に入れることです。

于 2014-08-05T13:48:59.483 に答える