设为首页 收藏本站
查看: 367|回复: 0

[经验分享] 使用Weblogic JMS监控log4j的日志

[复制链接]

尚未签到

发表于 2017-2-16 07:23:14 | 显示全部楼层 |阅读模式
配置CLASSPATH下的log4j.properties:
# This is the configuring for logging displayed in the Application Server;delete ,stdout
log4j.rootCategory=INFO,R,A1
 
log4j.appender.A1=org.apache.log4j.net.JMSAppender
log4j.appender.A1.providerURL=t3://localhost:7001
#log4j.appender.A1.userName=weblogic
#log4j.appender.A1.password=weblogic
log4j.appender.A1.topicConnectionFactoryBindingName=jms/JNDI_JMS_Connection_Factory
log4j.appender.A1.topicBindingName=jms/JNDI_LOG_TOPIC
log4j.appender.A1.initialContextFactoryName=weblogic.jndi.WLInitialContextFactory
注意:
1,应该是消息主题(TOPIC),下面的配置和代码也应该为topic,而不是queue
2,Log4j的版本是log4j-1.2.15.jar,并且应该将log4j-1.2.15.jar拷贝到%WL_HOME%\user_projects\domains\base_domain\lib下。
 
 
配置JMS Servers:

 
配置JMS Modules (JMS模块):
 
 
代码:
MessagingExampleBean.java:
 
package com.sunrise.psmis.ejb;
 
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.TextMessage;
 
import org.apache.log4j.spi.LoggingEvent;
 
publicclass MessagingExampleBeanimplements javax.ejb.MessageDrivenBean,
       javax.jms.MessageListener {
    private javax.ejb.MessageDrivenContext messageContext = null;
 
    publicvoid setMessageDrivenContext(
           javax.ejb.MessageDrivenContext messageContext)
           throws javax.ejb.EJBException {
       System.out.println("设置上下文");
       this.messageContext = messageContext;
    }
 
    publicvoid ejbCreate() {
       System.out.println("创建消息Bean");
    }
 
    publicvoid ejbRemove() {
       messageContext = null;
    }
 
    public MessagingExampleBean() {
    }
 
    publicvoid onMessage(javax.jms.Message message) {
 
       String msgText="";
        if (message instanceof TextMessage) {
        try{
             msgText = ((TextMessage) message).getText();
        }catch(JMSException e){
             e.printStackTrace();
        }
 
        } elseif (message instanceof ObjectMessage) {
        try{
            Object obj=((ObjectMessage) message).getObject();
            if(obj instanceof LoggingEvent){
                 LoggingEvent event=(LoggingEvent)obj;
                 System.out.println(event.getRenderedMessage());
            }
        }catch(JMSException e){
            e.printStackTrace();
        }
           
 
        }
        System.out.println("返回消息:"+msgText);
    }
}
 
 
ejb-jar.xml:
 
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
    <display-name>MessagingExample</display-name>
    <enterprise-beans>
       <message-driven>
           <display-name>MessagingExampleBean</display-name>
           <ejb-name>MessagingExampleBean</ejb-name>
           <ejb-class>com.sunrise.psmis.ejb.MessagingExampleBean</ejb-class>
           <transaction-type>Bean</transaction-type>
           <message-destination-type>
              javax.jms.Topic
           </message-destination-type>
       </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
       <container-transaction>
           <method>
              <ejb-name>MessagingExampleBean</ejb-name>
              <method-name>*</method-name>
           </method>
           <trans-attribute>Required</trans-attribute>
       </container-transaction>
    </assembly-descriptor>
</ejb-jar>
 
weblogic-ejb-jar.xml:
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
<weblogic-ejb-jar>
    <weblogic-enterprise-bean>
       <ejb-name>MessagingExampleBean</ejb-name>
       <message-driven-descriptor>
           <pool>
              <max-beans-in-free-pool>5</max-beans-in-free-pool>
              <initial-beans-in-free-pool>
                  5
              </initial-beans-in-free-pool>
           </pool>
           <destination-jndi-name>jms/JNDI_LOG_TOPIC</destination-jndi-name>
           <initial-context-factory>
              weblogic.jndi.WLInitialContextFactory
           </initial-context-factory>
           <connection-factory-jndi-name>
              jms/JNDI_JMS_Connection_Factory
           </connection-factory-jndi-name>
           <jms-polling-interval-seconds>
              20
           </jms-polling-interval-seconds>
       </message-driven-descriptor>
       <transaction-descriptor>
           <trans-timeout-seconds>3600</trans-timeout-seconds>
       </transaction-descriptor>
    </weblogic-enterprise-bean>
</weblogic-ejb-jar>
 
  参考:
Messaging Quickstart: Weblogic JMS Sample Code
Messaging Quickstart: Configuring Weblogic JMS
标签 : other, java

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-342678-1-1.html 上篇帖子: Weblogic JMS 配置及简单实例 下篇帖子: weblogic 后台启动命令.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表