public virtual void HandleResourceExhausted(JvmEnvironment environment, JvmResourceExhaustedFlags flags, IntPtr reserved, string description)
 {
 }
            private void HandleResourceExhausted(jvmtiEnvHandle env, JNIEnvHandle jniEnv, JvmResourceExhaustedFlags flags, IntPtr reserved, IntPtr description)
            {
                if (!VirtualMachine.IsAgentThread.Value)
                {
                    // ignore events before VMInit
                    if (AgentEventDispatcher == null)
                        return;

                    // dispatch this call to an agent thread
                    Action<jvmtiEnvHandle, JNIEnvHandle, JvmResourceExhaustedFlags, IntPtr, IntPtr> method = HandleResourceExhausted;
                    AgentEventDispatcher.Invoke(method, env, jniEnv, flags, reserved, description);
                    return;
                }

                //JvmEnvironment environment = JvmEnvironment.GetEnvironment(env);

                //foreach (var processor in _processors)
                //{
                //    processor.HandleResourceExhausted(environment, flags, reserved, description.GetString());
                //}
            }
Exemplo n.º 3
0
        private void HandleResourceExhausted(jvmtiEnvHandle env, JNIEnvHandle jniEnv, JvmResourceExhaustedFlags flags, IntPtr reserved, ModifiedUTF8StringData description)
        {
            JvmEnvironment environment = JvmEnvironment.GetEnvironment(env);

            foreach (var processor in _processors)
            {
                processor.HandleResourceExhausted(environment, flags, reserved, description.GetString());
            }
        }