我是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:
......
我写的代码和上面的代码有什么区别?
答案 0 :(得分:2)
这两个WLST调用都做同样的事情,但重要的信息是{Berberic版本9中JDBCConnectionPoolRuntimeMBean
已被弃用并被getJDBCDataSourceRuntimeMBeans()
取代。请参阅此处提到的内容:
您应该更喜欢使用原始示例:
jdbcDSrcs=server.getJDBCServiceRuntime().getJDBCDataSourceRuntimeMBeans()
除非您使用的是更旧版本的Weblogic。从语法上讲,第一个例子看起来是正确的,我们用10.3.6做同样的事情。