def __shutdownJVM(self): """ Shuts down the Java Virtual Machine """ if self._globJVMOn: jpype.shutdownJVM() self._globJVMOn = False self._globJVMSymm = None Messages.log(__name__, "JVM shut down!", verbose=1) self._deleteJVMOutputFiles()
def __startJVM(self): """ Initializes Java Virtual Machine and loads symmetrizer """ jarpath = os.path.join(Constants._sourceDir, Constants._symmetrizerPath) try: jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % (jarpath)) self._globJVMOn = True self._globJVMSymm = JPackage('net.webmo.symmetry').Main Messages.log(__name__, "JVM initialised!", verbose=1) #TODO: In future this should be done via streams fs = jpype.JClass("java.io.File") ps = jpype.JClass("java.io.PrintStream") jpype.java.lang.System.setOut(ps(fs(self._globJVMOutPath))) jpype.java.lang.System.setErr(ps(fs(self._globJVMErrPath))) except: self._globJVMOn = False self._globJVMSymm = None Messages.warning(__name__, "Cannot start JVM!", verbose=0)