使用脚本编制设置 serverindex.xml 文件的端口号
可以使用 wsadmin 工具来修改在 serverindex.xml 文件中指定的端口号。serverindex.xml 文件的端点是配置中的部分不同对象。
关于此任务
可通过多种方法来完成本任务。完成本任务中的步骤来使用 AdminConfig 和 AdminTask 对象配置环境中的端口。或者,可以使用 AdminServerManagement 脚本库中的脚本对配置中的各种端口进行配置。
使用脚本编制修改端口之前,必须先启动 wsadmin 工具。
过程
- 修改 server1 进程的 BOOTSTRAP_ADDRESS 属性。
BOOTSTRAP_ADDRESS 属性是服务器中的 NameServer 对象的一个属性。命名客户机使用该属性来指定命名服务器以查找初始上下文。以下示例说明了如何修改 BOOTSTRAP_ADDRESS 属性:
- 使用 AdminTask 对象:
- 使用 Jacl:
$AdminTask modifyServerPort server1 {-nodeName mynode -endPointName BOOTSTRAP_ADDRESS -host myhost -port 2810}
- 使用 Jython:
AdminTask.modifyServerPort ('server1', '[-nodeName mynode -endPointName BOOTSTRAP_ADDRESS -host myhost -port 2810]')
- 使用 Jacl:
- 使用 AdminConfig 对象。要修改它的端点,请获取 NameServer 对象的标识,并发出 modify 命令,如以下示例所示:
- 使用 Jacl:
set s [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/] set ns [$AdminConfig list NameServer $s] $AdminConfig modify $ns {{BOOTSTRAP_ADDRESS {{port 2810} {host myhost}}}}
- 使用 Jython:
s = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:server1/') ns = AdminConfig.list('NameServer', s) AdminConfig.modify(ns, [['BOOTSTRAP_ADDRESS', [['host', 'myhost'], ['port', 2810]]]])
- 使用 Jacl:
- 使用 AdminTask 对象:
- 修改 server1 进程的 SOAP_CONNECTOR-ADDRESS 属性。
SOAP_CONNECTOR-ADDRESS 属性是服务器中的 SOAPConnector 对象的一个属性。HTTP 传输方法将 SOAP 连接器端口用于入局 SOAP 请求。使用以下示例修改 SOAP_CONNECTOR-ADDRESS 属性:
- 使用 AdminTask 对象:
- 使用 Jacl:
$AdminTask modifyServerPort server1 {-nodeName mynode -endPointName SOAP_CONNECTOR_ADDRESS -host myhost -port 8881}
- 使用 Jython:
AdminTask.modifyServerPort ('server1', '[-nodeName mynode -endPointName SOAP_CONNECTOR_ADDRESS -host myhost -port 8881]')
- 使用 Jacl:
- 要使用 AdminConfig 对象修改它的端点,请获取 SOAPConnector 对象的标识,并发出 modify 命令,如以下示例所示:
- 使用 Jacl:
set s [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/] set soap [$AdminConfig list SOAPConnector $s] $AdminConfig modify $soap {{SOAP_CONNECTOR_ADDRESS {{host myhost} {port 8881}}}}
- 使用 Jython:
s = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:server1/') soap = AdminConfig.list('SOAPConnector', s) AdminConfig.modify(soap, [['SOAP_CONNECTOR_ADDRESS', [['host', 'myhost'], ['port', 8881]]]])
- 使用 Jacl:
- 使用 AdminTask 对象:
- 修改 server1 进程的 JMSSERVER_QUEUED_ADDRESS 和 JMSSERVER_DIRECT_ADDRESS 属性。
JMSSERVER_QUEUED_ADDRESS 和 JMSSERVER_DIRECT_ADDRESS 属性是服务器中的 JMSServer 对象的属性。系统使用这些端口来配置 JMS 提供程序主题连接工厂设置。以下示例修改了 JMSSERVER_QUEUED_ADDRESS 和 JMSSERVER_DIRECT_ADDRESS 属性:
- 使用 AdminTask 对象:
- 使用 Jacl:
$AdminTask modifyServerPort server1 {-nodeName mynode -endPointName JMSSERVER_QUEUED_ADDRESS -host myhost -port 5560} $AdminTask modifyServerPort server1 {-nodeName mynode -endPointName JMSSERVER_DIRECT_ADDRESS -host myhost -port 5561}
- 使用 Jython:
AdminTask.modifyServerPort ('server1', '[-nodeName mynode -endPointName JMSSERVER_QUEUED_ADDRESS -host myhost -port 5560]') AdminTask.modifyServerPort ('server1', '[-nodeName mynode -endPointName JMSSERVER_DIRECT_ADDRESS -host myhost -port 5561]')
- 使用 Jacl:
- 使用 AdminConfig 对象。要修改它的端点,请获取 JMSServer 对象的标识,并发出 modify 命令,例如:
- 使用 Jacl:
set s [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/] set jmss [$AdminConfig list JMSServer $s] $AdminConfig modify $jmss {{JMSSERVER_QUEUED_ADDRESS {{host myhost} {port 5560}}}} $AdminConfig modify $jmss {{JMSSERVER_DIRECT_ADDRESS {{host myhost} {port 5561}}}}
- 使用 Jython:
s = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:server1/') jmss = AdminConfig.list('JMSServer', s) AdminConfig.modify(jmss, [['JMSSERVER_QUEUED_ADDRESS', [['host', 'myhost'], ['port', 5560]]]]) AdminConfig.modify(jmss, [['JMSSERVER_DIRECT_ADDRESS', [['host', 'myhost'], ['port', 5561]]]])
- 使用 Jacl:
- 使用 AdminTask 对象:
- 修改节点代理程序进程的 NODE_DISCOVERY_ADDRESS 属性。 NODE_DISCOVERY_ADDRESS 属性是服务器中的 NodeAgent 对象的一个属性。系统使用此端口来接收节点代理程序进程中的入局进程发现消息。以下示例将修改 NODE_DISCOVERY_ADDRESS 属性:
- 使用 AdminTask 对象:
- 使用 Jacl:
$AdminTask modifyServerPort nodeagent {-nodeName mynode -endPointName NODE_DISCOVERY_ADDRESS -host myhost -port 7272}
- 使用 Jython:
AdminTask.modifyServerPort ('nodeagent', '[-nodeName mynode -endPointName NODE_DISCOVERY_ADDRESS -host myhost -port 7272]')
- 使用 Jacl:
- 使用 AdminConfig 对象。要修改它的端点,请获取 NodeAgent 对象的标识,并发出 modify 命令,例如:
- 使用 Jacl:
set nodeAgentServer [$AdminConfig getid /Cell:mycell/Node:mynode/Server:nodeagent/] set nodeAgent [$AdminConfig list NodeAgent $nodeAgentServer] $AdminConfig modify $nodeAgent {{NODE_DISCOVERY_ADDRESS {{host myhost} {port 7272}}}}
- 使用 Jython:
nodeAgentServer = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:nodeagent/') nodeAgent = AdminConfig.list('NodeAgent', nodeAgentServer) AdminConfig.modify(nodeAgent, [['NODE_DISCOVERY_ADDRESS', [['host', 'myhost'], ['port', 7272]]]])
- 使用 Jacl:
- 使用 AdminTask 对象:
- 修改 Deployment Manager 进程的 CELL_DISCOVERY_ADDRESS 属性。 CELL_DISCOVERY_ADDRESS 属性是服务器中的 deploymentManager 对象的一个属性。系统使用此端口来接收 Deployment Manager 进程中的入局进程发现消息。使用以下示例修改 CELL_DISCOVERY_ADDRESS 属性:
- 使用 AdminTask 对象:
- 使用 Jacl:
$AdminTask modifyServerPort dmgr {-nodeName managernode -endPointName CELL_MULTICAST_DISCOVERY_ADDRESS -host myhost -port 7272} $AdminTask modifyServerPort dmgr {-nodeName managernode -endPointName CELL_DISCOVERY_ADDRESS -host myhost -port 7278}
- 使用 Jython:
AdminTask.modifyServerPort ('dmgr', '[-nodeName managernode -endPointName CELL_MULTICAST_DISCOVERY_ADDRESS -host myhost -port 7272]') AdminTask.modifyServerPort ('dmgr', '[-nodeName managernode -endPointName CELL_DISCOVERY_ADDRESS -host myhost -port 7278]')
- 使用 Jacl:
- 要使用 AdminConfig 属性修改它的端点,请获取 deploymentManager 对象的标识,并发出 modify 命令,例如:
- 使用 Jacl:
set netmgr [$AdminConfig getid /Cell:mycell/Node:managernode/Server:dmgr/] set deploymentManager [$AdminConfig list CellManager $netmgr] $AdminConfig modify $deploymentManager {{CELL_MULTICAST_DISCOVERY_ADDRESS {{host myhost} {port 7272}}}} $AdminConfig modify $deploymentManager {{CELL_DISCOVERY_ADDRESS {{host myhost} {port 7278}}}}
- 使用 Jython:
netmgr = AdminConfig.getid('/Cell:mycell/Node:managernode/Server:dmgr/') deploymentManager = AdminConfig.list('CellManager', netmgr) AdminConfig.modify(deploymentManager, [['CELL_MULTICAST_DISCOVERY_ADDRESS', [['host', 'myhost'], ['port', 7272]]]]) AdminConfig.modify(deploymentManager, [['CELL_DISCOVERY_ADDRESS', [['host', 'myhost'], ['port', 7278]]]])
- 使用 Jacl:
- 使用 AdminTask 对象:
- 修改 server1 进程的 WC_defaulthost 属性。 使用以下示例修改 WC_defaulthost 端点:
- 使用 AdminConfig 对象:
- 使用 Jacl:
set serverName server1 set node [$AdminConfig getid /Node:myNode/] set serverEntries [$AdminConfig list ServerEntry $node] foreach serverEntry $serverEntries { set sName [$AdminConfig showAttribute $serverEntry serverName] if {$sName == $serverName} { set specialEndPoints [lindex [$AdminConfig showAttribute $serverEntry specialEndpoints] 0] foreach specialEndPoint $specialEndPoints { set endPointNm [$AdminConfig showAttribute $specialEndPoint endPointName] if {$endPointNm == "WC_defaulthost"} { set ePoint [$AdminConfig showAttribute $specialEndPoint endPoint] $AdminConfig modify $ePoint [list [list host myhost] [list port 5555]] break } } } }
- 使用 Jython:
serverName = "server1" node = AdminConfig.getid('/Node:myNode/') serverEntries = AdminConfig.list('ServerEntry', node).split(java.lang.System.getProperty('line.separator')) for serverEntry in serverEntries: sName = AdminConfig.showAttribute(serverEntry, "serverName") if sName == serverName: sepString = AdminConfig.showAttribute(serverEntry, "specialEndpoints") sepList = sepString[1:len(sepString)-1].split(" ") for specialEndPoint in sepList: endPointNm = AdminConfig.showAttribute(specialEndPoint, "endPointName") if endPointNm == "WC_defaulthost": ePoint = AdminConfig.showAttribute(specialEndPoint, "endPoint") AdminConfig.modify(ePoint, [["host", "myhost"], ["port", 5555]]) break
- 使用 Jacl:
- 使用 AdminConfig 对象:
- 修改 server1 进程的 WC_defaulthost_secure 属性。 使用以下示例修改 WC_defaulthost_secure 端点:
- 使用 AdminTask 对象:
- 使用 Jacl:
$AdminTask modifyServerPort server1 {-nodeName myNode -endPointName WC_defaulthost_secure -host myhost -port 5544}
- 使用 Jython:
AdminTask.modifyServerPort ('server1', '[-nodeName myNode -endPointName WC_defaulthost_secure -host myhost -port 5544]')
- 使用 Jacl:
- 使用 AdminConfig 对象:
- 使用 Jacl:
set serverName server1 set node [$AdminConfig getid /Node:myNode/] set serverEntries [$AdminConfig list ServerEntry $node] foreach serverEntry $serverEntries { set sName [$AdminConfig showAttribute $serverEntry serverName] if {$sName == $serverName} { set specialEndPoints [lindex [$AdminConfig showAttribute $serverEntry specialEndpoints] 0] foreach specialEndPoint $specialEndPoints { set endPointNm [$AdminConfig showAttribute $specialEndPoint endPointName] if {$endPointNm == "WC_defaulthost_secure"} { set ePoint [$AdminConfig showAttribute $specialEndPoint endPoint] $AdminConfig modify $ePoint [list [list host myhost] [list port 5544]] break } } } }
- 使用 Jython:
serverName = "server1" node = AdminConfig.getid('/Node:myNode/') serverEntries = AdminConfig.list('ServerEntry', node).split(java.lang.System.getProperty('line.separator')) for serverEntry in serverEntries: sName = AdminConfig.showAttribute(serverEntry, "serverName") if sName == serverName: sepString = AdminConfig.showAttribute(serverEntry, "specialEndpoints") sepList = sepString[1:len(sepString)-1].split(" ") for specialEndPoint in sepList: endPointNm = AdminConfig.showAttribute(specialEndPoint, "endPointName") if endPointNm == "WC_defaulthost_secure": ePoint = AdminConfig.showAttribute(specialEndPoint, "endPoint") AdminConfig.modify(ePoint, [["host", "myhost"], ["port", 5544]]) break
- 使用 Jacl:
- 使用 AdminTask 对象:
- 修改 server1 进程的 WC_adminhost 属性。
要修改 WC_adminhost 端点,请使用下列其中一个示例:
- 使用 AdminTask 对象:
- 使用 Jacl:
$AdminTask modifyServerPort server1 {-nodeName myNode -endPointName WC_adminhost -host myhost -port 6666}
- 使用 Jython:
AdminTask.modifyServerPort ('server1', '[-nodeName myNode -endPointName WC_adminhost -host myhost -port 6666]')
- 使用 Jacl:
- 使用 AdminConfig 对象:
- 使用 Jacl:
set serverName server1 set node [$AdminConfig getid /Node:myNode/] set serverEntries [$AdminConfig list ServerEntry $node] foreach serverEntry $serverEntries { set sName [$AdminConfig showAttribute $serverEntry serverName] if {$sName == $serverName} { set specialEndPoints [lindex [$AdminConfig showAttribute $serverEntry specialEndpoints] 0] foreach specialEndPoint $specialEndPoints { set endPointNm [$AdminConfig showAttribute $specialEndPoint endPointName] if {$endPointNm == "WC_adminhost"} { set ePoint [$AdminConfig showAttribute $specialEndPoint endPoint] $AdminConfig modify $ePoint [list [list host myhost] [list port 6666]] break } } } }
- 使用 Jython:
serverName = "server1" node = AdminConfig.getid('/Node:myNode/') serverEntries = AdminConfig.list('ServerEntry', node).split(java.lang.System.getProperty('line.separator')) for serverEntry in serverEntries: sName = AdminConfig.showAttribute(serverEntry, "serverName") if sName == serverName: sepString = AdminConfig.showAttribute(serverEntry, "specialEndpoints") sepList = sepString[1:len(sepString)-1].split(" ") for specialEndPoint in sepList: endPointNm = AdminConfig.showAttribute(specialEndPoint, "endPointName") if endPointNm == "WC_adminhost": ePoint = AdminConfig.showAttribute(specialEndPoint, "endPoint") AdminConfig.modify(ePoint, [["host", "myhost"], ["port", 6666]]) break
- 使用 Jacl:
- 使用 AdminTask 对象:
- 修改 server1 进程的 WC_adminhost_secure 属性。
要修改 WC_adminhost_secure 端点,请使用下列其中一个示例:
- 使用 AdminTask 对象:
- 使用 Jacl:
$AdminTask modifyServerPort server1 {-nodeName myNode -endPointName WC_adminhost_secure -host myhost -port 5566}
- 使用 Jython:
AdminTask.modifyServerPort ('server1', '[-nodeName myNode -endPointName WC_adminhost_secure -host myhost -port 5566]')
- 使用 Jacl:
- 使用 AdminConfig 对象:
- 使用 Jacl:
set serverName server1 set node [$AdminConfig getid /Node:myNode/] set serverEntries [$AdminConfig list ServerEntry $node] foreach serverEntry $serverEntries { set sName [$AdminConfig showAttribute $serverEntry serverName] if {$sName == $serverName} { set specialEndPoints [lindex [$AdminConfig showAttribute $serverEntry specialEndpoints] 0] foreach specialEndPoint $specialEndPoints { set endPointNm [$AdminConfig showAttribute $specialEndPoint endPointName] if {$endPointNm == "WC_adminhost_secure"} { set ePoint [$AdminConfig showAttribute $specialEndPoint endPoint] $AdminConfig modify $ePoint [list [list host myhost] [list port 5566]] break } } } }
- 使用 Jython:
serverName = "server1" node = AdminConfig.getid('/Node:myNode/') serverEntries = AdminConfig.list('ServerEntry', node).split(java.lang.System.getProperty('line.separator')) for serverEntry in serverEntries: sName = AdminConfig.showAttribute(serverEntry, "serverName") if sName == serverName: sepString = AdminConfig.showAttribute(serverEntry, "specialEndpoints") sepList = sepString[1:len(sepString)-1].split(" ") for specialEndPoint in sepList: endPointNm = AdminConfig.showAttribute(specialEndPoint, "endPointName") if endPointNm == "WC_adminhost_secure": ePoint = AdminConfig.showAttribute(specialEndPoint, "endPoint") AdminConfig.modify(ePoint, [["host", "myhost"], ["port", 5566]]) break
- 使用 Jacl:
- 使用 AdminTask 对象:
下一步做什么
保存配置更改。
请使用以下命令示例来保存配置更改:
AdminConfig.save()
使用 AdminNodeManagement 脚本库中的 syncActiveNode 或 syncNode 脚本将配置更改传播至一个或多个节点。
- 使用 syncActiveNodes 脚本将更改传播至单元中的每个节点,如以下示例所示:
AdminNodeManagement.syncActiveNodes()
- 使用 syncNode 脚本将更改传播至特定节点,如以下示例所示:
AdminNodeManagement.syncNode("myNode")


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_portnumber
文件名:txml_portnumber.html