我是weblogic的初学者。我正在用wlst编写这个脚本,它监视当前从属于数据源的jdbc连接池中建立的连接数量。
以下是我对管理控制台工作原理的理解。首先需要定义Jdbc服务,然后将其分配给一个(或多个)服务器。一旦激活了更改,就会在服务器上创建jdbc服务的实例。下面是我写的第一个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:
......
我写的代码和上面的代码有什么不同?
这两个WLST调用都做同样的事情,但重要的信息是JDBCConnectionPoolRuntimeMBean
已经被Weblogic版本9的getJDBCDataSourceRuntimeMBeans()
所取代。请看这里提到的:
您应该使用您的原始示例:
jdbcDSrcs=server.getJDBCServiceRuntime().getJDBCDataSourceRuntimeMBeans()
除非你使用的是更老版本的Weblogic。从语法上看,第一个例子看起来是正确的,我们对10.3.6做同样的事情。