public class org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension extends java.lang.Object implements com.sun.enterprise.connectors.ConnectionPoolMonitoringExtension
{
private jakarta.inject.Provider connectionPoolProbeProviderUtilProvider;
private jakarta.inject.Provider connectionPoolStatsProviderBootstrapProvider;
private com.sun.enterprise.resource.pool.PoolManager poolManager;
private final com.sun.enterprise.connectors.ConnectorRuntime runtime;
private static final java.util.logging.Logger logger;
private final java.util.List jdbcStatsProviders;
private final java.util.List jdbcPoolAppStatsProviders;
public void <init>()
{
com.sun.enterprise.connectors.ConnectorRuntime v;
org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension v;
java.util.ArrayList v, v;
v := @this: org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: java.util.List jdbcStatsProviders> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: java.util.List jdbcPoolAppStatsProviders> = v;
v = staticinvoke <com.sun.enterprise.connectors.ConnectorRuntime: com.sun.enterprise.connectors.ConnectorRuntime getRuntime()>();
v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: com.sun.enterprise.connectors.ConnectorRuntime runtime> = v;
return;
}
public com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProviderUtil getProbeProviderUtil()
{
java.lang.Object v;
jakarta.inject.Provider v;
org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension v;
v := @this: org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension;
v = v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: jakarta.inject.Provider connectionPoolProbeProviderUtilProvider>;
v = interfaceinvoke v.<jakarta.inject.Provider: java.lang.Object get()>();
return v;
}
public void registerPool(org.glassfish.resourcebase.resources.api.PoolInfo)
{
java.util.logging.Logger v;
org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension v;
org.glassfish.external.probe.provider.PluginPoint v;
java.util.List v;
org.glassfish.jdbc.pool.monitor.JdbcConnPoolStatsProvider v;
jakarta.inject.Provider v;
com.sun.enterprise.resource.pool.PoolLifeCycleListenerRegistry v;
com.sun.enterprise.resource.pool.ResourcePool v;
com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProviderUtil v, v;
java.lang.Object v;
com.sun.enterprise.resource.pool.PoolManager v;
com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProvider v;
java.lang.String v;
org.glassfish.resourcebase.resources.api.PoolInfo v;
v := @this: org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension;
v := @parameter: org.glassfish.resourcebase.resources.api.PoolInfo;
v = v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: com.sun.enterprise.resource.pool.PoolManager poolManager>;
v = interfaceinvoke v.<com.sun.enterprise.resource.pool.PoolManager: com.sun.enterprise.resource.pool.ResourcePool getPool(org.glassfish.resourcebase.resources.api.PoolInfo)>(v);
if v == null goto label;
v = virtualinvoke v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProviderUtil getProbeProviderUtil()>();
virtualinvoke v.<com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProviderUtil: void createJdbcProbeProvider()>();
v = new org.glassfish.jdbc.pool.monitor.JdbcConnPoolStatsProvider;
v = <org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: java.util.logging.Logger logger>;
specialinvoke v.<org.glassfish.jdbc.pool.monitor.JdbcConnPoolStatsProvider: void <init>(org.glassfish.resourcebase.resources.api.PoolInfo,java.util.logging.Logger)>(v, v);
v = <org.glassfish.external.probe.provider.PluginPoint: org.glassfish.external.probe.provider.PluginPoint SERVER>;
v = staticinvoke <com.sun.appserv.connectors.internal.api.ConnectorsUtil: java.lang.String getPoolMonitoringSubTreeRoot(org.glassfish.resourcebase.resources.api.PoolInfo,boolean)>(v, 1);
staticinvoke <org.glassfish.external.probe.provider.StatsProviderManager: boolean register(java.lang.String,org.glassfish.external.probe.provider.PluginPoint,java.lang.String,java.lang.Object)>("jdbc-connection-pool", v, v, v);
v = v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: jakarta.inject.Provider connectionPoolStatsProviderBootstrapProvider>;
v = interfaceinvoke v.<jakarta.inject.Provider: java.lang.Object get()>();
v = virtualinvoke v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProviderUtil getProbeProviderUtil()>();
v = virtualinvoke v.<com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProviderUtil: com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProvider getJdbcProbeProvider()>();
v = virtualinvoke v.<com.sun.enterprise.resource.pool.monitor.ConnectionPoolStatsProviderBootstrap: com.sun.enterprise.resource.pool.PoolLifeCycleListenerRegistry registerPool(org.glassfish.resourcebase.resources.api.PoolInfo,com.sun.enterprise.resource.pool.monitor.ConnectionPoolProbeProvider)>(v, v);
virtualinvoke v.<org.glassfish.jdbc.pool.monitor.JdbcConnPoolStatsProvider: void setPoolRegistry(com.sun.enterprise.resource.pool.PoolLifeCycleListenerRegistry)>(v);
v = v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: java.util.List jdbcStatsProviders>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
public void unregisterPool(org.glassfish.resourcebase.resources.api.PoolInfo)
{
java.util.Iterator v;
org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension v;
java.util.List v, v;
jakarta.inject.Provider v;
com.sun.enterprise.resource.pool.PoolLifeCycleListenerRegistry v;
java.lang.Object v, v;
boolean v, v;
org.glassfish.resourcebase.resources.api.PoolInfo v, v;
v := @this: org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension;
v := @parameter: org.glassfish.resourcebase.resources.api.PoolInfo;
v = v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: java.util.List jdbcStatsProviders>;
if v == null goto label;
v = v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: java.util.List jdbcStatsProviders>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.glassfish.jdbc.pool.monitor.JdbcConnPoolStatsProvider: org.glassfish.resourcebase.resources.api.PoolInfo getPoolInfo()>();
v = virtualinvoke v.<org.glassfish.resourcebase.resources.api.PoolInfo: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.jdbc.pool.monitor.JdbcConnPoolStatsProvider: com.sun.enterprise.resource.pool.PoolLifeCycleListenerRegistry getPoolRegistry()>();
virtualinvoke v.<com.sun.enterprise.resource.pool.PoolLifeCycleListenerRegistry: void unRegisterPoolLifeCycleListener(org.glassfish.resourcebase.resources.api.PoolInfo)>(v);
staticinvoke <org.glassfish.external.probe.provider.StatsProviderManager: boolean unregister(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
v = v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: jakarta.inject.Provider connectionPoolStatsProviderBootstrapProvider>;
v = interfaceinvoke v.<jakarta.inject.Provider: java.lang.Object get()>();
virtualinvoke v.<com.sun.enterprise.resource.pool.monitor.ConnectionPoolStatsProviderBootstrap: void postUnregisterPool(org.glassfish.resourcebase.resources.api.PoolInfo)>(v);
return;
}
public com.sun.enterprise.resource.pool.monitor.ConnectionPoolAppProbeProvider registerConnectionPool(org.glassfish.resourcebase.resources.api.PoolInfo, java.lang.String)
{
org.glassfish.jdbc.pool.monitor.JdbcConnPoolAppProbeProvider v, v;
com.sun.enterprise.config.serverbeans.ResourcePool v;
com.sun.enterprise.connectors.ConnectorRuntime v;
org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension v;
org.glassfish.external.probe.provider.PluginPoint v;
java.util.List v;
org.glassfish.api.naming.SimpleJndiName v;
java.lang.String v, v, v;
org.glassfish.jdbc.pool.monitor.JdbcConnPoolAppStatsProvider v;
boolean v;
org.glassfish.resourcebase.resources.api.PoolInfo v;
v := @this: org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension;
v := @parameter: org.glassfish.resourcebase.resources.api.PoolInfo;
v := @parameter: java.lang.String;
v = null;
v = v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: com.sun.enterprise.connectors.ConnectorRuntime runtime>;
v = virtualinvoke v.<com.sun.enterprise.connectors.ConnectorRuntime: com.sun.enterprise.config.serverbeans.ResourcePool getConnectionPoolConfig(org.glassfish.resourcebase.resources.api.PoolInfo)>(v);
v = v instanceof org.glassfish.jdbc.config.JdbcConnectionPool;
if v == 0 goto label;
v = new org.glassfish.jdbc.pool.monitor.JdbcConnPoolAppProbeProvider;
specialinvoke v.<org.glassfish.jdbc.pool.monitor.JdbcConnPoolAppProbeProvider: void <init>()>();
v = v;
v = new org.glassfish.jdbc.pool.monitor.JdbcConnPoolAppStatsProvider;
specialinvoke v.<org.glassfish.jdbc.pool.monitor.JdbcConnPoolAppStatsProvider: void <init>(org.glassfish.resourcebase.resources.api.PoolInfo,java.lang.String)>(v, v);
v = <org.glassfish.external.probe.provider.PluginPoint: org.glassfish.external.probe.provider.PluginPoint SERVER>;
v = virtualinvoke v.<org.glassfish.resourcebase.resources.api.PoolInfo: org.glassfish.api.naming.SimpleJndiName getName()>();
v = staticinvoke <com.sun.appserv.connectors.internal.api.ConnectorsUtil: java.lang.String escapeResourceNameForMonitoring(org.glassfish.api.naming.SimpleJndiName)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("resources/\u0001/\u0001");
staticinvoke <org.glassfish.external.probe.provider.StatsProviderManager: boolean register(java.lang.String,org.glassfish.external.probe.provider.PluginPoint,java.lang.String,java.lang.Object)>("jdbc-connection-pool", v, v, v);
v = v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: java.util.List jdbcPoolAppStatsProviders>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return v;
}
public void unRegisterConnectionPool()
{
java.util.List v, v;
java.util.Iterator v;
java.lang.Object v;
org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension v;
boolean v;
v := @this: org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension;
v = v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: java.util.List jdbcPoolAppStatsProviders>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
staticinvoke <org.glassfish.external.probe.provider.StatsProviderManager: boolean unregister(java.lang.Object)>(v);
goto label;
label:
v = v.<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: java.util.List jdbcPoolAppStatsProviders>;
interfaceinvoke v.<java.util.List: void clear()>();
return;
}
public org.glassfish.jdbc.pool.monitor.JdbcConnPoolProbeProvider createProbeProvider()
{
org.glassfish.jdbc.pool.monitor.JdbcConnPoolProbeProvider v;
org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension v;
v := @this: org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension;
v = new org.glassfish.jdbc.pool.monitor.JdbcConnPoolProbeProvider;
specialinvoke v.<org.glassfish.jdbc.pool.monitor.JdbcConnPoolProbeProvider: void <init>()>();
return v;
}
static void <clinit>()
{
java.util.logging.Logger v;
v = staticinvoke <com.sun.logging.LogDomains: java.util.logging.Logger getLogger(java.lang.Class,java.lang.String)>(class "Lorg/glassfish/jdbcruntime/JdbcPoolMonitoringExtension;", "jakarta.enterprise.resource.resourceadapter");
<org.glassfish.jdbcruntime.JdbcPoolMonitoringExtension: java.util.logging.Logger logger> = v;
return;
}
}