log4j通过ActiveMQ远程记录日志设计配置.doc_第1页
log4j通过ActiveMQ远程记录日志设计配置.doc_第2页
log4j通过ActiveMQ远程记录日志设计配置.doc_第3页
log4j通过ActiveMQ远程记录日志设计配置.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

log4j通过activeMQ远程记录日志设计配置一、安装ActiveMQ首先去/download.html 下载较新版本5.4.2release, 解压apache-activemq-5.4.2-bin.zip (或者apache-activemq-5.4.2-bin.tar.gz)目录如下:+bin (windows下面的bat和unix/linux下面的sh)+conf (activeMQ配置目录,包含最基本的activeMQ配置文件)+data (默认是空的)+docs (相关文档)+example (几个例子)+lib (activemMQ使用到的lib)连接安全配置:将如下配置 Copy至conf/activemq.xml中,放在 的下面(这是简单的用户名、密码的认证方式)!用户名、密码的可在conf/perties中配置 可以使用binactivemq.bat(activemq) 启动,如果一切顺利,你就会看见类似下面的信息:Listening for connections at: tcp:/:61616二、测试安装的ActiveMQ由于ActiveMQ是一个独立的jms provider,所以我们不需要其他任何第三方服务器就可以马上做我们的测试了.编译example/src目录下面的程序 ProducerTool/ConsumerTool 是JMS参考里面提到的典型应用,Producer产生消息,Consumer消费消息,而且这个例子还可以加入参数帮助你测试刚才启动的本地 ActiveMQ或者是远程的ActiveMQProducerTool broker的地址,默认的是tcp:/localhost:61616true|flase 是否使用topic,默认是falsesubject subject的名字,默认是TOOL.DEFAULTdurabl 是否持久化消息,默认是falsemessagecount 发送消息数量,默认是10messagesize 消息长度,默认是255clientID durable为true的时候,需要配置clientIDtimeToLive 消息存活时间sleepTime 发送消息中间的休眠时间transacte 是否采用事务ConsumerTool broker的地址,默认的是tcp:/localhost:61616true|flase 是否使用topic,默认是falsesubject subject的名字,默认是TOOL.DEFAULTdurabl 是否持久化消息,默认是falsemaxiumMessages 接受最大消息数量,0表示不限制clientID durable为true的时候,需要配置clientIDtransacte 是否采用事务sleepTime 接受消息中间的休眠时间,默认是0,onMeesage方法不休眠receiveTimeOut 接受超时我们可以这样使用:先启动activeMQ,再打开两个命令窗口,都进入D:activemqexamplesrc,一个运行:ant consumer,一个运行:ant producer,如果成功发送/接收了消息就OK了。ActiveMQ5版本默认启动时,启动了内置的jetty服务器,提供一个demo应用和用于监控ActiveMQ的admin应用。admin::8161/admin/ demo::8161/demo/三、在工程中导入支持activeMQ的jar包在pom.xml文件中新增activeMQ依赖包。 org.apache.activemq.tooling maven-activemq-memtest-plugin 5.4.2四、配置log4j文件,使其可以通过activeMQ向远程JMS服务发送日志在log4j.xml日志文件中增加JMSAppender 。五、配置jndi和初始化属性文件在src/resouce目录下新增perties文件#发送端和接收端可以通过EZRD.logTopic这个名字建立发送和接收消息topic.EZRD.logTopic=EZRD.logTopic在dbconfig目录下新增perties属性文件#JMS服务地址jms_provider_url=tcp:/localhost:61616#用户名jms_userName=system#密码jms_password=manager#主题名jms_topic_binding_name=EZRD.kk#日志存放目录jms_ezrd_logs=D:ezrdlogs六、启动接收端主程序JmsLogReceiverjava JmsLogReceiver七、查看生成的日志文件,每天产生一个日志文件。在D:ezrdlogs 目录下生成当天的日志文件,如:注:使用jms需要注意的问题1、 在activemq.xml配置文件中可以修改amq的内存限制,如: producerFlowControl=true memoryLimit=100mb这里memoryLimit=100mb表示topic的内存限制为100M,producerFlowControl=false表示关闭流量控制,如果不关闭流量控制,在消息量发生累积时,amq会主动控制流量,减少消息的生产。2、 不要频繁的建立和关闭连接JMS使用长连接方式,一个程序,只要和JMS服务器保持一个连接就可以了,不要频繁的建立和关闭连接。频繁的建立和关闭连接,对程序的性能影响还是很大的。这一点和jdbc还是不太一样的。3、 Connection的start()和stop()方法代价很高JMS的Connection的start()和stop()方法代价很高,不能经常调用。我们试用的时候,写了个jms的connection pool,每次将connection取出pool时调用start()方法,归还时调用stop()方法,然而后来用jprofiler发现,一般的cpu时间都耗在了这两个方法上。4、 start()后才能收消息Connection的start()方法调用后,才能收到jms消息。如果不调用这个方法,能发出消息,但是一直收不到消息。不知道其它的jms服务器也是这样。5、 显式关闭Session如果忘记了最后关闭Connection或Session对象,都会导致内存泄漏。这个在我测试的时候也发现了。本来以为关闭了Connection,由这个Connection生成的Session也会被自动关闭,结果并非如此,Session并没有关闭,导致内存泄漏。所以一定要显式的关闭Connection和Session。6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论