Weblogic中几个可以通过反射配置属性的MBean

Weblogic中几个可以通过反射配置属性的MBean

        配置weblogic最常用的是admin console,但console只是开放那些对于用户而言常用的属性。更为详细的属性列表可以参考如下的连接,这些属性可以直接在config.xml中设定,
        http://edocs.bea.com/wls/docs81/config_xml/index.html

        本文主要阐述一下weblogic中几个内部通过reflect机制设定的模块属性。这几个模块的某些属性在console、config.xml中所没有的,只能通过-D设定,而这些-Dproperty又不能从代码中直接看到(因为weblogic内部通过reflect实现,它会直接读取这些模块mbean的setXXX(),然后根据XXX到system property中检查是否存在对应的property, 如果存在,则设定该属性)。大概的实现方法如下:

refer to: weblogic.kernel.MBeanStub.java

 1  protected   final   void  initializeFromSystemProperties(String prefix) {
 2 
 3      Class cls  =  getClass();
 4      Method[] methods  =  cls.getMethods();
 5       for  ( int  i  =   0 ; i  <  methods.length; i ++ ) {
 6        Method m  =  methods[i];
 7        
 8         if  ( ! name.startsWith( " set " ))  continue ;
 9        
10        String attribute  =  name.substring( 3 );
11        String key  =  prefix + attribute;
12        String value  =  System.getProperty(key);
13         if  (value  ==   null continue ;
14        Constructor c  =   null ;
15         try  {
16          c  =  promote(params[ 0 ]).getConstructor(STRING_PARAM);
17        }  catch  {
18        
19        }
20         if  (c  ==   null continue ;
21         try  {
22          m.invoke( this new  Object[] {c.newInstance( new  Object[] {value})});
23        }  catch  { 
24        
25        }
26      }
27    }

       
        这几个模块是:IIOP、NetworkAccessPoint、SSL、 KernelDebug、 Log 、Kernel。设定的时候,我们可以参考MBeab的set方法,然后通过-Dprefix.property进行设定。(注意property对应于setXXX中的XXX)。下面我们看看这几个模块的具体设定方法。

1:IIOP
设定prefix, weblogic.iiop. ,可以设定字段参考如下链接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.IIOPMBean
Example:-Dweblogic.iiop.CompleteMessageTimeout

2:NetworkAccessPoint
设定prefix, weblogic.channels. ,可以设定字段参考如下链接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.NetworkAccessPointMBean
Example:-Dweblogic.channels.Protocol
对于NetworkAccessPoint, 如果配置了protocol,可以配置具体protocol相关的属性,
Example:-Dweblogic.t3.propertyName

3:SSL
设定prefix, weblogic.ssl. ,可以设定字段参考如下链接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.SSLMBean
Example:-Dweblogic.ssl.TrustedCAFileName

4:KernelDebug
设定prefix, weblogic.debug.,字段参考如下链接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.KernelDebugMBean
Example:-Dweblogic.debug.DebugMessaging

5:Log
设定prefix, weblogic.log可以设定字段参考如下链接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.LogMBean
Example:-Dweblogic.log.MmoryBufferSize

6:Kernel
设定prefix, weblogic. ,可以设定字段参考如下链接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.KernelMBean
Example:-Dweblogic.NativeIOEnabled

你可能感兴趣的:(Weblogic中几个可以通过反射配置属性的MBean)