我在一台服务器上部署了两个weblogic托管实例。这两个实例使用不同的端口号,例如7001和7002。我的问题是如何在运行时获取端口号?例如,如果在intance1中,我想获得7001,如果在instance2中,我想获得7002。

最佳答案

一个简单的解决方案是使用WLST。下面的脚本将获取WebLogic服务器域内所有服务器的端口号。

#!/usr/bin/python

connect('weblogic','password','t3://localhost:7001')
domainConfig()
servers = cmo.getServers()
print "Server\t\tPort\tSSL"
for server in servers:
        print server.name + "\t" + str(server.getListenPort()) + "\t" + str(server.getSSL().getListenPort())
disconnect()

注意:您可能必须用制表符替换倒数第二行开头的空格。

该脚本将在Unix或Windows环境下均能正常工作。

从命令提示符
wlst scriptName

这样的脚本的输出类似于:
Server          Port    SSL
AdminServer     7001    7002
bam_server1     9001    9002
osb_server1     7003    7004
soa_server1     8001    8002

10-08 00:20