public class CapsuleContainer extends java.lang.Object implements CapsuleContainerMXBean
| Modifier and Type | Class and Description |
|---|---|
protected static class |
CapsuleContainer.ProcessInfo |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CAPSULE_PROCESS_KILLED |
static java.lang.String |
CAPSULE_PROCESS_LAUNCHED |
| Constructor and Description |
|---|
CapsuleContainer(java.nio.file.Path cacheDir) |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.ProcessBuilder |
configureCapsuleProcess(java.lang.ProcessBuilder pb)
May be overriden to pipe app IO streams.
|
protected javax.management.NotificationBroadcasterSupport |
createEmitter() |
protected java.lang.String |
createProcessId(java.lang.String appId,
java.lang.Process p) |
protected java.lang.Class<?> |
getMBeanInterface() |
java.lang.Process |
getProcess(java.lang.String id) |
java.util.Set<java.lang.String> |
getProcesses() |
java.util.Map<java.lang.String,CapsuleContainer.ProcessInfo> |
getProcessInfo() |
protected CapsuleContainer.ProcessInfo |
getProcessInfo(java.lang.String id) |
void |
killProcess(java.lang.String id) |
java.lang.String |
launchCapsule(java.nio.file.Path capsulePath,
java.util.List<java.lang.String> jvmArgs,
java.util.List<java.lang.String> args) |
protected CapsuleContainer.ProcessInfo |
mountProcess(java.lang.Process p,
java.lang.String id,
java.lang.String capsuleId,
java.util.List<java.lang.String> jvmArgs,
java.util.List<java.lang.String> args) |
protected void |
onProcessDeath(java.lang.String id,
CapsuleContainer.ProcessInfo pi,
int exitValue) |
protected void |
onProcessLaunch(java.lang.String id,
CapsuleContainer.ProcessInfo pi) |
protected void |
processDied(java.lang.String id,
java.lang.Process p,
int exitValue) |
public static final java.lang.String CAPSULE_PROCESS_LAUNCHED
public static final java.lang.String CAPSULE_PROCESS_KILLED
protected java.lang.Class<?> getMBeanInterface()
protected javax.management.NotificationBroadcasterSupport createEmitter()
public java.lang.String launchCapsule(java.nio.file.Path capsulePath,
java.util.List<java.lang.String> jvmArgs,
java.util.List<java.lang.String> args)
throws java.io.IOException
java.io.IOExceptionprotected CapsuleContainer.ProcessInfo mountProcess(java.lang.Process p, java.lang.String id, java.lang.String capsuleId, java.util.List<java.lang.String> jvmArgs, java.util.List<java.lang.String> args) throws java.io.IOException, javax.management.InstanceAlreadyExistsException
java.io.IOExceptionjavax.management.InstanceAlreadyExistsExceptionprotected java.lang.ProcessBuilder configureCapsuleProcess(java.lang.ProcessBuilder pb)
throws java.io.IOException
pb - The capsule's ProcessBuilder.pbjava.io.IOExceptionprotected void processDied(java.lang.String id,
java.lang.Process p,
int exitValue)
protected void onProcessLaunch(java.lang.String id,
CapsuleContainer.ProcessInfo pi)
protected void onProcessDeath(java.lang.String id,
CapsuleContainer.ProcessInfo pi,
int exitValue)
protected java.lang.String createProcessId(java.lang.String appId,
java.lang.Process p)
public final java.util.Map<java.lang.String,CapsuleContainer.ProcessInfo> getProcessInfo()
protected CapsuleContainer.ProcessInfo getProcessInfo(java.lang.String id)
public final java.lang.Process getProcess(java.lang.String id)
public final java.util.Set<java.lang.String> getProcesses()
getProcesses in interface CapsuleContainerMXBeanpublic final void killProcess(java.lang.String id)
killProcess in interface CapsuleContainerMXBean