Oracle
 sql >> база данни >  >> RDS >> Oracle

Извличане на URL адреса на доставчика на текущия сървър по време на изпълнение на weblogic (неотхвърлен начин)

Можете да търсите 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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка в заявката за Oracle Подзаявката за един ред връща повече от един ред

  2. Shell Script с sqlplus и специални знаци в паролата

  3. Как мога да видя заявки, които се изпълняват срещу Oracle?

  4. Oracle 19c Open_cursor превишен проблем

  5. IN клауза за Oracle Prepared Statement в Python cx_Oracle