配置weblogic最常用的是admin console,但console只是開放那些對于用戶而言常用的屬性。更為詳細(xì)的屬性列表可以參考如下的連接,這些屬性可以直接在config.xml中設(shè)定,
http://edocs.bea.com/wls/docs81/config_xml/index.html
本文主要闡述一下weblogic中幾個內(nèi)部通過reflect機(jī)制設(shè)定的模塊屬性。這幾個模塊的某些屬性在console、config.xml中所沒有的,只能通過-D設(shè)定,而這些-Dproperty又不能從代碼中直接看到(因為weblogic內(nèi)部通過reflect實現(xiàn),它會直接讀取這些模塊mbean的setXXX(),然后根據(jù)XXX到system property中檢查是否存在對應(yīng)的property, 如果存在,則設(shè)定該屬性)。大概的實現(xiàn)方法如下:
refer to: weblogic.kernel.MBeanStub.java
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。設(shè)定的時候,我們可以參考MBeab的set方法,然后通過-Dprefix.property進(jìn)行設(shè)定。(注意property對應(yīng)于setXXX中的XXX)。下面我們看看這幾個模塊的具體設(shè)定方法。
1:IIOP
設(shè)定prefix, weblogic.iiop. ,可以設(shè)定字段參考如下鏈接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.IIOPMBean
Example:-Dweblogic.iiop.CompleteMessageTimeout
2:NetworkAccessPoint
設(shè)定prefix, weblogic.channels. ,可以設(shè)定字段參考如下鏈接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.NetworkAccessPointMBean
Example:-Dweblogic.channels.Protocol
對于NetworkAccessPoint, 如果配置了protocol,可以配置具體protocol相關(guān)的屬性,
Example:-Dweblogic.t3.propertyName
3:SSL
設(shè)定prefix, weblogic.ssl. ,可以設(shè)定字段參考如下鏈接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.SSLMBean
Example:-Dweblogic.ssl.TrustedCAFileName
4:KernelDebug
設(shè)定prefix, weblogic.debug.,字段參考如下鏈接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.KernelDebugMBean
Example:-Dweblogic.debug.DebugMessaging
5:Log
設(shè)定prefix, weblogic.log可以設(shè)定字段參考如下鏈接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.LogMBean
Example:-Dweblogic.log.MmoryBufferSize
6:Kernel
設(shè)定prefix, weblogic. ,可以設(shè)定字段參考如下鏈接,
http://edocs.bea.com/wls/docs92/javadocs_mhome/index.html, weblogic.management.configuration.KernelMBean
Example:-Dweblogic.NativeIOEnabled