【问题标题】:How to get weblogic managed server listen port in runtime?如何在运行时获取 weblogic 托管服务器监听端口?
【发布时间】:2012-04-09 19:01:23
【问题描述】:

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

【问题讨论】:

    标签: java weblogic port listen


    【解决方案1】:

    一个简单的解决方案是使用 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 脚本名称

    这样一个脚本的输出类似于:

    Server          Port    SSL
    AdminServer     7001    7002
    bam_server1     9001    9002
    osb_server1     7003    7004
    soa_server1     8001    8002
    

    【讨论】:

      【解决方案2】:

      你可以使用这样的脚本

      export IDM_WLS_DOMAIN=IDMDomain 
      export IDM_DOMAIN_HOME="$FMW_HOME/user_projects/domains/$IDM_WLS_DOMAIN"
      ...
      export IDM_WLS_ADMIN_PORT=`cat $IDM_DOMAIN_HOME/bin/startManagedWebLogic.sh | grep 'ADMIN_URL="http' | cut -d '"' -f2 | cut -d ':' -f3`
      

      -> IDM_WLS_ADMIN_PORT 将等于 7001 或 7002,...

      【讨论】:

        【解决方案3】:

        使用 JMX。

        您可以编写一个查找 RuntimeService MBean 的 java 程序

        “com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean”

        您可以从中查找集群的所有成员,包括管理员。

        并找到他们完整的 IP 地址/DNS 和端口号

        这是一个入门示例

        http://middlewaremagic.com/weblogic/?p=210

        【讨论】:

          猜你喜欢
          • 2015-06-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-03-27
          • 1970-01-01
          • 2019-12-31
          • 1970-01-01
          相关资源
          最近更新 更多