Java Doc for AbstractMasterJVM.java in  » IDE » DrJava » edu » rice » cs » util » newjvm » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » IDE » DrJava » edu.rice.cs.util.newjvm 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   java.rmi.server.RemoteObject
      java.rmi.server.RemoteServer
         java.rmi.server.UnicastRemoteObject
            edu.rice.cs.util.newjvm.AbstractMasterJVM

All known Subclasses:   edu.rice.cs.drjava.model.repl.newjvm.MainJVM,
AbstractMasterJVM
abstract public class AbstractMasterJVM extends UnicastRemoteObject implements MasterRemote(Code)
An abstract class implementing the logic to invoke and control, via RMI, a second Java virtual machine. This class is used by subclassing it. (See package documentation for more details.) This class runs in both the master and the slave JVMs.
version:
   $Id: AbstractMasterJVM.java 4255 2007-08-28 19:17:37Z mgricken $


Field Summary
final public static  Log_log
    
final protected  Object_masterJVMLock
     Lock for accessing the critical state of this AbstractMasterJVM including _monitorThread.
protected volatile  SlaveRemote_slave
     The slave JVM remote stub if it's connected; null if not connected.
protected volatile  String_waitForQuitThreadName
     Name for the thread that waits for the slave to exit.

Constructor Summary
protected  AbstractMasterJVM(String slaveClassName)
     Sets up the master JVM object, but does not actually invoke the slave JVM.
Parameters:
  slaveClassName - The fully-qualified class name of the class to start up in the second JVM.

Method Summary
public  voidcheckStillAlive()
     No-op to prove that the master is still alive.
public  voiddispose()
     Withdraws RMI exports for this.
abstract public  voiderrorStartingSlave(Throwable cause)
     Called if the slave JVM dies before it is able to register.
final protected  SlaveRemotegetSlave()
     Returns slave remote instance, or null if not connected.
abstract protected  voidhandleSlaveConnected()
     Callback for when the slave JVM has connected, and the bidirectional communications link has been established.
abstract protected  voidhandleSlaveQuit(int status)
     Callback for when the slave JVM has quit.
final protected  voidinvokeSlave()
     Invokes slave JVM without any JVM arguments.
final protected  voidinvokeSlave(String[] jvmArgs, File workDir)
     Invokes slave JVM, using the system classpath.
final protected  voidinvokeSlave(String[] jvmArgs, String cp, File workDir)
     Creates and invokes slave JVM.
protected  booleanisStartupInProgress()
     Returns true if the slave is in the process of starting.
final protected  voidquitSlave()
     Quits slave JVM.
public  voidregisterSlave(SlaveRemote slave)
    
protected  voidslaveQuitDuringStartup(int status)
     Action to take if the slave JVM quits before registering.
public  voidwaitSlaveDone()
    

Field Detail
_log
final public static Log _log(Code)



_masterJVMLock
final protected Object _masterJVMLock(Code)
Lock for accessing the critical state of this AbstractMasterJVM including _monitorThread.



_slave
protected volatile SlaveRemote _slave(Code)
The slave JVM remote stub if it's connected; null if not connected.



_waitForQuitThreadName
protected volatile String _waitForQuitThreadName(Code)
Name for the thread that waits for the slave to exit.




Constructor Detail
AbstractMasterJVM
protected AbstractMasterJVM(String slaveClassName) throws RemoteException(Code)
Sets up the master JVM object, but does not actually invoke the slave JVM.
Parameters:
  slaveClassName - The fully-qualified class name of the class to start up in the second JVM. This class must implement the interface specified by this class's type parameter, which must be a subclass of SlaveRemote.




Method Detail
checkStillAlive
public void checkStillAlive()(Code)
No-op to prove that the master is still alive.



dispose
public void dispose() throws RemoteException(Code)
Withdraws RMI exports for this.



errorStartingSlave
abstract public void errorStartingSlave(Throwable cause) throws RemoteException(Code)
Called if the slave JVM dies before it is able to register.
Parameters:
  cause - The Throwable which caused the slave to die.



getSlave
final protected SlaveRemote getSlave()(Code)
Returns slave remote instance, or null if not connected.



handleSlaveConnected
abstract protected void handleSlaveConnected()(Code)
Callback for when the slave JVM has connected, and the bidirectional communications link has been established. During this call, AbstractMasterJVM.getSlave is guaranteed to not return null.



handleSlaveQuit
abstract protected void handleSlaveQuit(int status)(Code)
Callback for when the slave JVM has quit. During this call, AbstractMasterJVM.getSlave is guaranteed to return null.
Parameters:
  status - The exit code returned by the slave JVM.



invokeSlave
final protected void invokeSlave() throws IOException, RemoteException(Code)
Invokes slave JVM without any JVM arguments.
throws:
  IllegalStateException - if slave JVM already connected or startUp is in progress.



invokeSlave
final protected void invokeSlave(String[] jvmArgs, File workDir) throws IOException, RemoteException(Code)
Invokes slave JVM, using the system classpath.
Parameters:
  jvmArgs - Array of arguments to pass to the JVM on startUp
throws:
  IllegalStateException - if slave JVM already connected or startUp is in progress.



invokeSlave
final protected void invokeSlave(String[] jvmArgs, String cp, File workDir) throws IOException, RemoteException(Code)
Creates and invokes slave JVM.
Parameters:
  jvmArgs - Array of arguments to pass to the JVM on startUp
Parameters:
  cp - Classpath to use when starting the JVM
throws:
  IllegalStateException - if slave JVM already connected or startUp is in progress.



isStartupInProgress
protected boolean isStartupInProgress()(Code)
Returns true if the slave is in the process of starting.



quitSlave
final protected void quitSlave() throws RemoteException(Code)
Quits slave JVM. On exit, _slave == null. _quitOnStartup may be true
throws:
  IllegalStateException - if no slave JVM is connected



registerSlave
public void registerSlave(SlaveRemote slave) throws RemoteException(Code)



slaveQuitDuringStartup
protected void slaveQuitDuringStartup(int status)(Code)
Action to take if the slave JVM quits before registering. Assumes _masterJVMLock is held.
Parameters:
  status - Status code of the JVM



waitSlaveDone
public void waitSlaveDone()(Code)
Waits until no slave JVM is running under control of "this"



Methods inherited from java.rmi.server.UnicastRemoteObject
public Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public static RemoteStub exportObject(Remote obj) throws RemoteException(Code)(Java Doc)
public static Remote exportObject(Remote obj, int port) throws RemoteException(Code)(Java Doc)
public static Remote exportObject(Remote obj, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException(Code)(Java Doc)
public static boolean unexportObject(Remote obj, boolean force) throws java.rmi.NoSuchObjectException(Code)(Java Doc)

Methods inherited from java.rmi.server.RemoteServer
public static String getClientHost() throws ServerNotActiveException(Code)(Java Doc)
public static java.io.PrintStream getLog()(Code)(Java Doc)
public static void setLog(java.io.OutputStream out)(Code)(Java Doc)

Fields inherited from java.rmi.server.RemoteObject
protected transient RemoteRef ref(Code)(Java Doc)

Methods inherited from java.rmi.server.RemoteObject
public boolean equals(Object obj)(Code)(Java Doc)
public RemoteRef getRef()(Code)(Java Doc)
public int hashCode()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
public static Remote toStub(Remote obj) throws NoSuchObjectException(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.