Ich habe zwei weblogic-verwaltete Instanzen auf einem Server bereitgestellt. Diese beiden Instanzen verwenden unterschiedliche Portnummern, sagen wir 7001 und 7002. Meine Frage ist, wie man die Portnummer in Runtime bekommt? Zum Beispiel, wenn inint1, ich will 7001, wenn in instance2, möchte ich 7002 bekommen.Wie Weblogic Managed Server erhalten Listen Port in Runtime?
Antwort
Verwenden Sie JMX.
können Sie ein Java-Programm schreiben, das die RuntimeService MBean nachschlägt
"com.bea: Name = RuntimeService, Type = weblogic.management.mbeanservers.runtime.RuntimeServiceMBean"
und daraus Sie kann alle Mitglieder des Clusters einschließlich des Administrators nachschlagen.
und ihre vollständigen IP-Adresse/DNS und Port-Nummern
Hier finden ist ein Starter Beispiel
Eine einfache Lösung ist WLST zu verwenden. Das folgende Skript erhält die Portnummern aller Server in Ihrer WebLogic-Server-Domäne.
HINWEIS: Wahrscheinlich müssen Sie die Leerzeichen am Anfang der vorletzten Zeile durch ein Tabulatorzeichen ersetzen.
Dieses Skript funktioniert gleichermaßen in Unix- oder Windows-Umgebungen.
an einer Eingabeaufforderung wlst script
Der Ausgang eines solchen Skript ähnelt:
Server Port SSL
AdminServer 7001 7002
bam_server1 9001 9002
osb_server1 7003 7004
soa_server1 8001 8002
Sie ein Skript wie dieses
verwenden könnenexport 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 wird gleich zu 7001 oder 7002, ...