com.sun.jdi.connect
Interface LaunchingConnector
- All Superinterfaces:
- Connector
public interface LaunchingConnector
- extends Connector
A connector which can launch a target VM before connecting to it.
- Since:
- 1.3
launch
VirtualMachine launch(Map<String,? extends Connector.Argument> arguments)
throws IOException,
IllegalConnectorArgumentsException,
VMStartException
- Launches an application and connects to its VM. Properties
of the launch (possibly including options,
main class, and arguments) are specified in
arguments
.
The argument map associates argument name strings to instances
of Connector.Argument
. The default argument map for a
connector can be obtained through Connector.defaultArguments()
.
Argument map values can be changed, but map entries should not be
added or deleted.
A target VM launched by a launching connector is not
guaranteed to be stable until after the VMStartEvent
has been
received.
Important note: If a target VM is launched through this
funcctions, its output and error streams must be read as it
executes. These streams are available through the
Process
object returned by
VirtualMachine.process()
. If the streams are not periodically
read, the target VM will stop executing when the buffers for these
streams are filled.
- Parameters:
arguments
- the argument map to be used in launching the VM.
- Returns:
- the
VirtualMachine
mirror of the target VM.
- Throws:
IOException
- when unable to launch.
Specific exceptions are dependent on the Connector implementation
in use.
IllegalConnectorArgumentsException
- when one of the
connector arguments is invalid.
VMStartException
- when the VM was successfully launched, but
terminated with an error before a connection could be established.