Вы можете найти исполняемый JMX, который одинаков для всех приложений. Нет необходимости вводить адрес, пользователя или пароль.
1) Найдите MBeanServer
InitialContext ctx = new InitialContext();
MBeanServer mBeanServer = (MBeanServer) ctx.lookup("java:comp/env/jmx/runtime");
2) Затем вам нужно получить имя сервера, на котором запущено приложение. Тут есть два пути (а может и больше).
Простейший
String serverName = System.getProperty("weblogic.Name");
Но я не знаю, надежный ли это способ.
Другой способ получить имя сервера — найти его в атрибутах службы времени выполнения.
ObjectName serviceObjectName = new ObjectName("com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean");
String serverName = (String) mBeanServer.getAttribute(serviceObjectName, "ServerName");
3) Теперь мы можем создать исполняемый сервер ObjectName...
ObjectName serverRuntime = new ObjectName("com.bea:Name="+serverName+",Type=ServerRuntime");
4) ... и получаем нужные нам атрибуты
String listenAddress = mBeanServer.getAttribute(serverRuntime, "ListenAddress");
Integer listenPort = mBeanServer.getAttribute(serverRuntime, "ListenPort");
rem: listenAddress отформатирован как hostname
/IP
, вам нужно манипулировать им, чтобы получить только IP или хост
Оттуда вы можете получить доступ к большому количеству информации; например, адрес сервера администрирования, который управляет сервером среды выполнения, кластером среды выполнения и т. д.
Вот список, который я получаю из консоли WLST (WL12.2.1), не проверял, есть ли у нас доступ ко всем атрибутам/MBean.
dr-- ApplicationRuntimes
dr-- AsyncReplicationRuntime
dr-- BatchJobRepositoryRuntime
dr-- ClassLoaderRuntime
dr-- ClusterRuntime
dr-- ConcurrentManagedObjectsRuntime
dr-- ConnectorServiceRuntime
dr-- DefaultExecuteQueueRuntime
dr-- EntityCacheCumulativeRuntime
dr-- EntityCacheCurrentStateRuntime
dr-- EntityCacheHistoricalRuntime
dr-- ExecuteQueueRuntimes
dr-- JDBCServiceRuntime
dr-- JMSRuntime
dr-- JTARuntime
dr-- JVMRuntime
dr-- JoltRuntime
dr-- LibraryRuntimes
dr-- LogBroadcasterRuntime
dr-- LogRuntime
dr-- MANAsyncReplicationRuntime
dr-- MANReplicationRuntime
dr-- MailSessionRuntimes
dr-- MaxThreadsConstraintRuntimes
dr-- MessagingBridgeRuntime
dr-- MessagingBridgeRuntimes
dr-- MinThreadsConstraintRuntimes
dr-- PartitionRuntimes
dr-- PathServiceRuntime
dr-- PathServiceRuntimes
dr-- PersistentStoreRuntimes
dr-- RequestClassRuntimes
dr-- SAFRuntime
dr-- SNMPAgentRuntime
dr-- ServerChannelRuntimes
dr-- ServerLogRuntime
dr-- ServerSecurityRuntime
dr-- ServerServices
dr-- SingleSignOnServicesRuntime
dr-- ThreadPoolRuntime
dr-- TimerRuntime
dr-- WANReplicationRuntime
dr-- WLDFRuntime
dr-- WTCRuntime
dr-- WebServerRuntimes
dr-- WorkManagerRuntimes
dr-- WseeClusterFrontEndRuntime
dr-- WseeWsrmRuntime
-r-- ActivationTime
-r-- AdminServer
-r-- AdminServerHost
-r-- AdminServerListenPort
-r-- AdminServerListenPortSecure
-r-- AdministrationPort
-r-- AdministrationPortEnabled
-r-- AdministrationURL
-r-- AsyncReplicationRuntime
-r-- ClusterRuntime
-r-- CurrentDirectory
-rw- CurrentMachine
-r-- DefaultExecuteQueueRuntime
-r-- DefaultURL
-r-- EntityCacheCumulativeRuntime
-r-- EntityCacheCurrentStateRuntime
-r-- EntityCacheHistoricalRuntime
-r-- HealthState
-r-- HealthStateJMX
-r-- JoltRuntime
-r-- ListenAddress
-r-- ListenPort
-r-- ListenPortEnabled
-r-- MANAsyncReplicationRuntime
-r-- MANReplicationRuntime
-r-- MessagingBridgeRuntime
-r-- MiddlewareHome
-r-- Name
-r-- OpenSocketsCurrentCount
-r-- OracleHome
-r-- OverallHealthState
-r-- OverallHealthStateJMX
-rw- Parent
-r-- PathServiceRuntime
-r-- RestartRequired
-r-- RestartsTotalCount
-r-- SSLListenAddress
-r-- SSLListenPort
-r-- SSLListenPortEnabled
-r-- ServerClasspath
-r-- SocketsOpenedTotalCount
-r-- State
-r-- StateVal
-r-- Type
-r-- WANReplicationRuntime
-r-- WeblogicHome
-r-- WeblogicVersion
-r-- WseeClusterFrontEndRuntime
person
Zou
schedule
05.07.2017
InetAddress.getLocalHost().getHostName()
- person Display Name is missing   schedule 27.08.2015DomainRuntimeServiceMBean
. Все более новые примеры веб-логики указывают на что-то вроде этого: docs.oracle.com/cd/E23943_01/web.1111/e13728/ Он должен быть переносимым, если вы ссылаетесь на переменные среды и т. д. для URL-адреса администратора. - person Display Name is missing   schedule 27.08.2015ADMIN_URL
при запуске управляемого сервера с помощью сценарияstartManagedWebLogic
. Как вы собираетесь запускать сервер, не зная этой информации? - person Display Name is missing   schedule 28.08.2015