03-13_WLST导航和定位MBean

本文重点:WLST导航和定位MBean

   

  1. MBean切换图

    如上:红色的字体表示切换的命令。lscd是在当前树下切换,其他命令是在不同树之间切换。

    其中:

  • DomainMBeanServer有三种状态:
    • 运行domainConfig() 进入到DomainMBean中。
    • 运行domainRuntime() 进入到Domain-RuntimeMBean中。
    • 运行domainCustom() 进入到Domain-CustomMBean中。(自定义MBean,需要先挂载)
  • EditMBeanServer只有一种状态:
    • 运行edit() 进入到DomainMBean中。
  • RuntimeMBeanServer也有三种状态:
    • 运行serverConfig() 进入到DomainMBean中。
    • 运行serverRuntime() 进入到Server-RuntimeMBean中。
    • 运行Custom() 进入到custom() 中。(自定义MBean,需要先挂载)
  • 如果在管理服务器上,那么RuntimeMBeanServer和DomainMBeanServer的数据是相同的。
  1. 各模式下切换。
    1. 首先要启动管理服务器,然后启动wlst.sh脚本。

[root@wls1 ~]# /opt/weblogic/wlserver_10.3/common/bin/wlst.sh

   

CLASSPATH=/opt/weblogic/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/weblogic/patch_ocp371/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/jdk1.8.0_144/lib/tools.jar:/opt/weblogic/wlserver_10.3/server/lib/weblogic_sp.jar:/opt/weblogic/wlserver_10.3/server/lib/weblogic.jar:/opt/weblogic/modules/features/weblogic.server.modules_10.3.6.0.jar:/opt/weblogic/wlserver_10.3/server/lib/webservices.jar:/opt/weblogic/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/opt/weblogic/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/opt/weblogic/utils/config/10.3/config-launch.jar::/opt/weblogic/wlserver_10.3/common/derby/lib/derbynet.jar:/opt/weblogic/wlserver_10.3/common/derby/lib/derbyclient.jar:/opt/weblogic/wlserver_10.3/common/derby/lib/derbytools.jar::

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

   

Initializing WebLogic Scripting Tool (WLST) ...

   

Welcome to WebLogic Server Administration Scripting Shell

   

Type help() for help on available commands

   

wls:/offline> connect() # 连接

Please enter your username :weblogic # 帐号

Please enter your password : # 密码

Please enter your server URL [t3://localhost:7001] : # 连接的地址

Connecting to t3://localhost:7001 with userid weblogic ...

Successfully connected to Admin Server 'AdminServer' that belongs to domain 'base_domains'.

   

Warning: An insecure protocol was used to connect to the

server. To ensure on-the-wire security, the SSL port or

Admin port should be used instead.

   

wls:/base_domains/serverConfig>

  1. 连接后,默认进入serverConfig状态

wls:/base_domains/serverConfig>

wls:/base_domains/serverConfig> cmo # 打印当前对象的名字和类型。

[MBeanServerInvocationHandler]com.bea:Name=base_domains,Type=Domain

wls:/base_domains/serverConfig> ls() # 列出MBean的层级结构。

dr-- AdminConsole

dr-- AppDeployments

dr-- BridgeDestinations

dr-- Clusters

dr-- CoherenceClusterSystemResources

..

   

-r-- AdminServerName AdminServer

-r-- AdministrationMBeanAuditingEnabled false

-r-- AdministrationPort 9002

-r-- AdministrationPortEnabled false

..

   

-r-x freezeCurrentValue Void : String(attributeName)

-r-x isSet Boolean : String(propertyName)

-r-x unSet Void : String(propertyName)

   

如上所示:dr--,四个标识

第一位:"d" 代表是MBean实例或类型,可以看作是目录,确实如目录一样操作。 "-" 代表是MBean的属性

第二位:"r" 代表可读,"-" 代表不可读。

第三位:"w" 代表可写,"-" 代表不可写。

第四位:"x" 代表执行,"-" 代表不可执行。

   

wls:/base_domains/serverConfig> cd('Servers') # 进入到servers

wls:/base_domains/serverConfig/Servers> cmo

[MBeanServerInvocationHandler]com.bea:Name=base_domains,Type=Domain

wls:/base_domains/serverConfig/Servers> ls() # 列出该节点下属性。

dr-- AdminServer

dr-- Server-0

  

  1. 进入domainConfig状态

wls:/base_domains/serverConfig/Servers> domainConfig()

Location changed to serverRuntime tree. This is a read-only tree with DomainMBean as the root.

For more help, use help(domainConfig)

   

wls:/base_domains/domainConfig> cmo # 打印当前对象的名字和类型。

[MBeanServerInvocationHandler]com.bea:Name=base_domains,Location=base_domains,Type=Domain

wls:/base_domains/domainConfig> ls() # 该状态下ls()列出的数据和serverConfig状态下的数据大致一样(初步验证)。

dr-- AdminConsole

dr-- AppDeployments

dr-- BridgeDestinations

dr-- Clusters

dr-- CoherenceClusterSystemResources

dr-- CoherenceServers

..

  1. 进入domainRuntime状态

wls:/base_domains/domainConfig> domainRuntime()

Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.

For more help, use help(domainRuntime)

   

wls:/base_domains/domainRuntime> cmo

[MBeanServerInvocationHandler]com.bea:Name=base_domains,Type=DomainRuntime

wls:/base_domains/domainRuntime> ls() # ls列出的数据

dr-- AppRuntimeStateRuntime

dr-- CoherenceServerLifeCycleRuntimes

dr-- ConsoleRuntime

dr-- DeployerRuntime

dr-- DeploymentManager

dr-- DomainServices

dr-- LogRuntime

dr-- MessageDrivenControlEJBRuntime

dr-- MigratableServiceCoordinatorRuntime

dr-- MigrationDataRuntimes

dr-- PolicySubjectManagerRuntime

dr-- SNMPAgentRuntime

dr-- ServerLifeCycleRuntimes

dr-- ServerRuntimes

dr-- ServerServices

dr-- ServiceMigrationDataRuntimes

   

-r-- ActivationTime Tue Jan 30 22:36:28 CST 2018

-r-- MigrationDataRuntimes null

-r-- Name base_domains

-rw- Parent null

-r-- ServiceMigrationDataRuntimes null

-r-- Type DomainRuntime

   

-r-x preDeregister Void :

-r-x restartSystemResource Void : WebLogicMBean(weblogic.management.configuration.SystemResourceMBean)

  1. 进入serverRuntime状态

wls:/base_domains/domainRuntime> serverRuntime()

Location changed to serverRuntime tree. This is a read-only tree with ServerRuntimeMBean as the root.

For more help, use help(serverRuntime)

   

wls:/base_domains/serverRuntime> cmo

[MBeanServerInvocationHandler]com.bea:Name=AdminServer,Type=ServerRuntime

wls:/base_domains/serverRuntime> ls() # 注意,和domainRuntime的数据并不相同

dr-- ApplicationRuntimes

dr-- AsyncReplicationRuntime

dr-- ClusterRuntime

dr-- ConnectorServiceRuntime

dr-- DefaultExecuteQueueRuntime

dr-- EntityCacheCumulativeRuntime

dr-- EntityCacheCurrentStateRuntime

dr-- EntityCacheHistoricalRuntime

..

-r-- SocketsOpenedTotalCount 1

-r-- State RUNNING

-r-- StateVal 2

-r-- Type ServerRuntime

-r-- WANReplicationRuntime null

-r-- WLECConnectionServiceRuntime null

-r-- WeblogicHome /opt/weblogic/wlserver_10.3

-r-- WeblogicVersion WebLogic Server 10.3.6.0 Tue Nov 15 08:52:36 PST 2011 1441050

-r-- WseeClusterFrontEndRuntime null

   

-r-x addRequestClassRuntime Boolean : WebLogicMBean(weblogic.management.runtime.RequestClassRuntimeMBean)

-r-x forceShutdown Void :

-r-x forceSuspend Void :

-r-x getIPv4URL String : String(protocol)

-r-x getIPv6URL String : String(protocol)

-r-x getServerChannel java.net.InetSocketAddress : String(protocol)

-r-x getURL String : String(protocol)

-r-x preDeregister Void :

-r-x restartSSLChannels Void :

-r-x resume Void :

-r-x shutdown Void :

-r-x shutdown Void : Integer(timeout),Boolean(ignoreSessions)

-r-x start Void :

-r-x suspend Void :

-r-x suspend Void : Integer(timeout),Boolean(ignoreSessions)

  1. 进入domainCustom()状态

wls:/base_domains/domainRuntime> domainCustom()

Location changed to domain custom tree. This is a writable tree with No root. # 这棵树可写,但是没有存根

For more help, use help(domainCustom)

   

wls:/base_domains/domainCustom> cmo

'No Stub Available' # 没有存根

wls:/base_domains/domainCustom> ls()

drw- JMImplementation

drw- com.sun.management

drw- java.lang

drw- java.nio

drw- java.util.logging

  1. 进入custom()状态

wls:/base_domains/domainCustom> custom()

Location changed to custom tree. This is a writable tree with No root.

For more help, use help(custom)

   

wls:/base_domains/custom> cmo

'No Stub Available'

wls:/base_domains/custom> ls()

drw- JMImplementation

drw- com.sun.management

drw- java.lang

drw- java.nio

drw- java.util.logging

  1. 进入edit()状态

wls:/base_domains/custom> edit() # 这是一个编辑树,可写;使用domainMBean做为根,如果要进行更改,需要startEdit()编辑会话。

Location changed to edit tree. This is a writable tree with

DomainMBean as the root. To make changes you will need to start

an edit session via startEdit().

   

For more help, use help(edit)

You already have an edit session in progress and hence WLST will

continue with your edit session.

   

wls:/base_domains/edit !> cmo # 进入的是domainMBean中

[MBeanServerInvocationHandler]com.bea:Name=base_domains,Type=Domain

wls:/base_domains/edit !> ls()

dr-- AdminConsole

dr-- AppDeployments

dr-- BridgeDestinations

dr-- Clusters

dr-- CoherenceClusterSystemResources

  1. 高级操作
    1. 获取属性值

wls:/base_domains/edit !> serverConfig()

   

wls:/base_domains/serverConfig> cd('Servers')

wls:/base_domains/serverConfig/Servers> ls()

dr-- AdminServer

dr-- Server-0

   

wls:/base_domains/serverConfig/Servers> cd('Server-0')

wls:/base_domains/serverConfig/Servers/Server-0> cmo.getXMLEntityCache() # 该值因为为空

wls:/base_domains/serverConfig/Servers/Server-0> cmo.getVirtualMachineName()

'base_domains_Server-0'

wls:/base_domains/serverConfig/Servers/Server-0> get('VirtualMachineName') # 另一种方式获取值

'base_domains_Server-0'

wls:/base_domains/serverConfig/Servers/Server-0/WebServer> cd('..') # 返回根目录

wls:/base_domains/serverConfig/Servers/Server-0> cd('/') # 返回父目录

wls:/base_domains/serverConfig> find('VirtualMachineName') # 可以使用find命令查找

Finding 'VirtualMachineName' in all registered MBean instances ...

/Servers/AdminServer VirtualMachineName base_domains_AdminServer

/Servers/Server-0 VirtualMachineName base_domains_Server-0

wls:/base_domains/serverConfig> bean1 = getMBean('/Servers/AdminServer')

wls:/base_domains/serverConfig> bean1

[MBeanServerInvocationHandler]com.bea:Name=AdminServer,Type=Server

wls:/base_domains/serverConfig> bean1.getVirtualMachineName()

'base_domains_AdminServer'

  1. 受管服务器上只有RuntimeMBeanServer

       

原文地址:https://www.cnblogs.com/cishi/p/8387871.html