2014-06-09 112 views
0

我是weblogic的初學者。我正在用wlst編​​寫此腳本,該腳本監視當前從屬於數據源的jdbc連接池中建立的連接數。Weblogic監控數據源(Jdbc連接池)

這是我對管理控制檯如何工作的理解。 Jdbc服務需要首先定義,然後分配給一個或多個服務器。激活更改後,將在服務器上創建jdbc服務的實例。

以下是WLST Jython代碼片段,我已經寫了(使用Java文檔):

domainRuntime() 
servers=domainRuntimeService.getServerRuntimes() 

for server in servers: 
jdbcDSrcs=server.getJDBCServiceRuntime().getJDBCDataSourceRuntimeMBeans() 
print 'Domain Name   #', cmo.getName() 
print 'Server Name   #', server.getName() 
for jdbaDSrc in jdbcDSrcs: 
    print 'Data Source Name #', jdbaDSrc.getName() 
    print 'Curr Connc Count #', jdbaDSrc.getActiveConnectionsCurrentCount() 

能否請您批評的邏輯和代碼?

(我沒有進入到測試環境呢。所以一直無法運行它。我在黑暗中相當多的編碼)

也有很多在網上論壇的例子有以下行:

pools= adminHome.getMBeansByType('JDBCConnectionPoolRuntime') 
for pool in pools: 
    ...... 

請告訴我,我已編寫的代碼和上述的一個之間的差異?

回答

2

的這兩個WLST調用做同樣的事情,但信息的重要一點是,JDBCConnectionPoolRuntimeMBean已被棄用,由getJDBCDataSourceRuntimeMBeans()取代從WebLogic版本9.看到,這裏提到的:

http://docs.oracle.com/cd/E21764_01/apirefs.1111/e13945/weblogic/management/runtime/JDBCConnectionPoolRuntimeMBean.html

您應該更喜歡使用您的原始示例:

jdbcDSrcs=server.getJDBCServiceRuntime().getJDBCDataSourceRuntimeMBeans() 

除非您使用的是舊版本的Weblogic。在句法上,第一個例子看起來是正確的,我們對10.3.6做了同樣的事情。