Weblogic监控数据源(Jdbc连接池)

时间:2014-06-09 21:11:38

标签: jdbc weblogic monitoring connection-pooling wlst

我是weblogic的初学者。我在wlst中编写此脚本,用于监视当前从属于数据源的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:
  ......

我写的代码和上面的代码有什么区别?

1 个答案:

答案 0 :(得分:2)

这两个WLST调用都做同样的事情,但重要的信息是{Berberic版本9中JDBCConnectionPoolRuntimeMBean已被弃用并被getJDBCDataSourceRuntimeMBeans()取代。请参阅此处提到的内容:

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

您应该更喜欢使用原始示例:

jdbcDSrcs=server.getJDBCServiceRuntime().getJDBCDataSourceRuntimeMBeans()

除非您使用的是更旧版本的Weblogic。从语法上讲,第一个例子看起来是正确的,我们用10.3.6做同样的事情。