00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 package org.objectweb.proactive.core.runtime;
00032
00033 import java.io.IOException;
00034 import java.rmi.AlreadyBoundException;
00035 import java.util.ArrayList;
00036
00037 import org.apache.log4j.Logger;
00038 import org.objectweb.proactive.Body;
00039 import org.objectweb.proactive.Job;
00040 import org.objectweb.proactive.core.ProActiveException;
00041 import org.objectweb.proactive.core.body.UniversalBody;
00042 import org.objectweb.proactive.core.body.ft.checkpointing.Checkpoint;
00043 import org.objectweb.proactive.core.descriptor.data.ProActiveDescriptor;
00044 import org.objectweb.proactive.core.descriptor.data.VirtualNode;
00045 import org.objectweb.proactive.core.mop.ConstructorCall;
00046 import org.objectweb.proactive.core.mop.ConstructorCallExecutionFailedException;
00047 import org.objectweb.proactive.core.node.NodeException;
00048 import org.objectweb.proactive.core.process.ExternalProcess;
00049 import org.objectweb.proactive.core.process.UniversalProcess;
00050 import org.objectweb.proactive.core.util.log.Loggers;
00051 import org.objectweb.proactive.core.util.log.ProActiveLogger;
00052 import org.objectweb.proactive.ext.security.ProActiveSecurityManager;
00053 import org.objectweb.proactive.ext.security.SecurityEntity;
00054
00055
00080 public interface ProActiveRuntime extends Job, SecurityEntity {
00081 static Logger runtimeLogger = ProActiveLogger.getLogger(Loggers.RUNTIME);
00082
00090 public String createLocalNode(String nodeName,
00091 boolean replacePreviousBinding,
00092 ProActiveSecurityManager nodeSecurityManager, String vnName,
00093 String jobId) throws NodeException, AlreadyBoundException;
00094
00099 public void killAllNodes() throws ProActiveException;
00100
00106 public void killNode(String nodeName) throws ProActiveException;
00107
00114 public void createVM(UniversalProcess remoteProcess)
00115 throws java.io.IOException, ProActiveException;
00116
00122 public String[] getLocalNodeNames() throws ProActiveException;
00123
00129 public VMInformation getVMInformation();
00130
00140 public void register(ProActiveRuntime proActiveRuntimeDist,
00141 String proActiveRuntimeUrl, String creatorID, String creationProtocol,
00142 String vmName) throws ProActiveException;
00143
00154 public void unregister(ProActiveRuntime proActiveRuntimeDist,
00155 String proActiveRuntimeUrl, String creatorID, String creationProtocol,
00156 String vmName) throws ProActiveException;
00157
00163 public ProActiveRuntime[] getProActiveRuntimes() throws ProActiveException;
00164
00171 public ProActiveRuntime getProActiveRuntime(String proActiveRuntimeName)
00172 throws ProActiveException;
00173
00179 void addAcquaintance(String proActiveRuntimeName) throws ProActiveException;
00180
00186 public String[] getAcquaintances() throws ProActiveException;
00187
00194 public void rmAcquaintance(String proActiveRuntimeName)
00195 throws ProActiveException;
00196
00205 public void killRT(boolean softly) throws Exception;
00206
00210 public String getURL();
00211
00219 public ArrayList getActiveObjects(String nodeName)
00220 throws ProActiveException;
00221
00230 public ArrayList getActiveObjects(String nodeName, String className)
00231 throws ProActiveException;
00232
00240 public VirtualNode getVirtualNode(String virtualNodeName)
00241 throws ProActiveException;
00242
00248 public void registerVirtualNode(String virtualNodeName,
00249 boolean replacePreviousBinding)
00250 throws ProActiveException, AlreadyBoundException;
00251
00257 public void unregisterVirtualNode(String virtualNodeName)
00258 throws ProActiveException;
00259
00264 public void unregisterAllVirtualNodes() throws ProActiveException;
00265
00271 public String getJobID(String nodeUrl) throws ProActiveException;
00272
00291 public UniversalBody createBody(String nodeName,
00292 ConstructorCall bodyConstructorCall, boolean isNodeLocal)
00293 throws ProActiveException, ConstructorCallExecutionFailedException,
00294 java.lang.reflect.InvocationTargetException;
00295
00310 public UniversalBody receiveBody(String nodeName, Body body)
00311 throws ProActiveException;
00312
00321 public UniversalBody receiveCheckpoint(String nodeName, Checkpoint ckpt,
00322 int inc) throws ProActiveException;
00323
00334 public ExternalProcess getProcessToDeploy(
00335 ProActiveRuntime proActiveRuntimeDist, String creatorID, String vmName,
00336 String padURL) throws ProActiveException;
00337
00338
00339 public String getVNName(String Nodename) throws ProActiveException;
00340
00349 public byte[] getClassDataFromThisRuntime(String className)
00350 throws ProActiveException;
00351
00359 public byte[] getClassDataFromParentRuntime(String className)
00360 throws ProActiveException;
00361
00370 public void launchMain(String className, String[] parameters)
00371 throws ClassNotFoundException, NoSuchMethodException, ProActiveException;
00372
00379 public void newRemote(String className)
00380 throws ClassNotFoundException, ProActiveException;
00381
00390 public ProActiveDescriptor getDescriptor(String url,
00391 boolean isHierarchicalSearch) throws IOException, ProActiveException;
00392
00402 public Object setLocalNodeProperty(String nodeName, String key, String value)
00403 throws ProActiveException;
00404
00413 public String getLocalNodeProperty(String nodeName, String key)
00414 throws ProActiveException;
00415 }