public interface EventQueue extends Mirror
EventSet
s.
EventSets generated by the debugger back end can be read
here. There is one instance of EventQueue assigned to a particular
VirtualMachine
.
Some events cause the suspension of the target VM - event requests
(com.sun.jdi.request
) with a
suspend policy
of SUSPEND_ALL
or SUSPEND_EVENT_THREAD
and sometimes
VMStartEvent
.
If these suspensions are not resumed the target VM will hang.
Thus, it is always good policy to
remove()
every EventSet from the
event queue until an EventSet containing a
VMDisconnectEvent
is read.
Unless resume
is
being handled in another way, each EventSet should invoke
EventSet.resume()
.
EventSet
,
VirtualMachine
EventSet remove() throws InterruptedException
EventSet
.InterruptedException
- if any thread has interrupted
this thread.VMDisconnectedException
- if the connection
to the target VM is no longer available. Note this will always
be preceded by a VMDisconnectEvent
.EventSet remove(long timeout) throws InterruptedException
timeout
- Time in milliseconds to wait for the next eventEventSet
, or null if there is a timeout.InterruptedException
- if any thread has interrupted
this thread.VMDisconnectedException
- if the connection
to the target VM is no longer available. Note this will always
be preceded by a VMDisconnectEvent
.IllegalArgumentException
- if the timeout argument
contains an illegal value.
Copyright © 1999, 2013, Oracle and/or its affiliates. All rights reserved.