class MemoryManagementText(unittest.TestCase): def setUp(self): self.p = start_example_app_process() # This is to ensure that the server is started before connecting to it! time.sleep(1) def tearDown(self): safe_shutdown(self) self.p.join() gc.collect() def testNoAttach(self): self.gateway = JavaGateway() gateway2 = JavaGateway() sb = self.gateway.jvm.java.lang.StringBuffer() sb.append('Hello World') self.gateway.shutdown() try: sb.append('Python') self.fail('Should have failed') except Exception: self.assertTrue(True) try: sb2 = gateway2.jvm.java.lang.StringBuffer() sb2.append('Python') self.fail('Should have failed') except Exception: self.assertTrue(True) def testDetach(self): self.gateway = JavaGateway() gc.collect() finalizers_size_start = len(ThreadSafeFinalizer.finalizers) sb = self.gateway.jvm.java.lang.StringBuffer() sb.append('Hello World') self.gateway.detach(sb) sb2 = self.gateway.jvm.java.lang.StringBuffer() sb2.append('Hello World') sb2._detach() gc.collect() self.assertEqual(len(ThreadSafeFinalizer.finalizers) - finalizers_size_start, 0) self.gateway.shutdown()
class MemoryManagementText(unittest.TestCase): def setUp(self): self.p = start_example_app_process() # This is to ensure that the server is started before connecting to it! time.sleep(1) def tearDown(self): safe_shutdown(self) self.p.join() gc.collect() def testNoAttach(self): self.gateway = JavaGateway() gateway2 = JavaGateway() sb = self.gateway.jvm.java.lang.StringBuffer() sb.append('Hello World') self.gateway.shutdown() try: sb.append('Python') self.fail('Should have failed') except Exception: self.assertTrue(True) try: sb2 = gateway2.jvm.java.lang.StringBuffer() sb2.append('Python') self.fail('Should have failed') except Exception: self.assertTrue(True) def testDetach(self): self.gateway = JavaGateway() sb = self.gateway.jvm.java.lang.StringBuffer() sb.append('Hello World') self.gateway.detach(sb) sb2 = self.gateway.jvm.java.lang.StringBuffer() sb2.append('Hello World') sb2._detach() gc.collect() self.assertEqual(len(ThreadSafeFinalizer.finalizers), 1) self.gateway.shutdown()
class MemoryManagementTest(unittest.TestCase): def setUp(self): self.p = start_example_app_process() # This is to ensure that the server is started before connecting to it! time.sleep(1) def tearDown(self): safe_shutdown(self) self.p.join() gc.collect() def testNoAttach(self): self.gateway = JavaGateway() gateway2 = JavaGateway() sb = self.gateway.jvm.java.lang.StringBuffer() sb.append('Hello World') self.gateway.shutdown() self.assertRaises(Exception, lambda: sb.append('Python')) self.assertRaises(Exception, lambda: gateway2.jvm.java.lang.StringBuffer()) def testDetach(self): self.gateway = JavaGateway() gc.collect() finalizers_size_start = len(ThreadSafeFinalizer.finalizers) sb = self.gateway.jvm.java.lang.StringBuffer() sb.append('Hello World') self.gateway.detach(sb) sb2 = self.gateway.jvm.java.lang.StringBuffer() sb2.append('Hello World') sb2._detach() gc.collect() self.assertEqual( len(ThreadSafeFinalizer.finalizers) - finalizers_size_start, 0) self.gateway.shutdown()
class MemoryManagementTest(unittest.TestCase): def setUp(self): self.p = start_example_app_process() def tearDown(self): safe_shutdown(self) self.p.join() gc.collect() def testNoAttach(self): self.gateway = JavaGateway() gateway2 = JavaGateway() sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") self.gateway.shutdown() self.assertRaises(Exception, lambda: sb.append("Python")) self.assertRaises( Exception, lambda: gateway2.jvm.java.lang.StringBuffer()) def testDetach(self): self.gateway = JavaGateway() gc.collect() finalizers_size_start = len(ThreadSafeFinalizer.finalizers) sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") self.gateway.detach(sb) sb2 = self.gateway.jvm.java.lang.StringBuffer() sb2.append("Hello World") sb2._detach() gc.collect() self.assertEqual( len(ThreadSafeFinalizer.finalizers) - finalizers_size_start, 0) self.gateway.shutdown()
class MemoryManagementTest(unittest.TestCase): def setUp(self): self.p = start_example_app_process() def tearDown(self): safe_shutdown(self) self.p.join() gc.collect() def testNoAttach(self): self.gateway = JavaGateway() gateway2 = JavaGateway() sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") self.gateway.shutdown() self.assertRaises(Exception, lambda: sb.append("Python")) self.assertRaises(Exception, lambda: gateway2.jvm.java.lang.StringBuffer()) def testDetach(self): self.gateway = JavaGateway() gc.collect() finalizers_size_start = len(ThreadSafeFinalizer.finalizers) sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") self.gateway.detach(sb) sb2 = self.gateway.jvm.java.lang.StringBuffer() sb2.append("Hello World") sb2._detach() gc.collect() self.assertEqual( len(ThreadSafeFinalizer.finalizers) - finalizers_size_start, 0) self.gateway.shutdown()
class MemoryManagementTest(unittest.TestCase): def setUp(self): ThreadSafeFinalizer.clear_finalizers(True) self.p = start_example_app_process() def tearDown(self): safe_shutdown(self) self.p.join() gc.collect() def testNoAttach(self): self.gateway = JavaGateway() gateway2 = JavaGateway() sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") self.gateway.shutdown() self.assertRaises(Exception, lambda: sb.append("Python")) self.assertRaises( Exception, lambda: gateway2.jvm.java.lang.StringBuffer()) def testDetach(self): self.gateway = JavaGateway() gc.collect() finalizers_size_start = len(ThreadSafeFinalizer.finalizers) sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") self.gateway.detach(sb) sb2 = self.gateway.jvm.java.lang.StringBuffer() sb2.append("Hello World") sb2._detach() gc.collect() self.assertEqual( len(ThreadSafeFinalizer.finalizers) - finalizers_size_start, 0) self.gateway.shutdown() def testGCCollect(self): self.gateway = JavaGateway() gc.collect() finalizers_size_start = len(ThreadSafeFinalizer.finalizers) def internal(): sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") sb2 = self.gateway.jvm.java.lang.StringBuffer() sb2.append("Hello World") finalizers_size_middle = len(ThreadSafeFinalizer.finalizers) return finalizers_size_middle finalizers_size_middle = internal() gc.collect() # Before collection: two objects created + two returned objects (append # returns a stringbuffer reference for easy chaining). self.assertEqual(finalizers_size_middle, 4) # Assert after collection self.assertEqual( len(ThreadSafeFinalizer.finalizers) - finalizers_size_start, 0) self.gateway.shutdown() def testGCCollectNoMemoryManagement(self): self.gateway = JavaGateway( gateway_parameters=GatewayParameters( enable_memory_management=False)) gc.collect() # Should have nothing in the finalizers self.assertEqual(len(ThreadSafeFinalizer.finalizers), 0) def internal(): sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") sb2 = self.gateway.jvm.java.lang.StringBuffer() sb2.append("Hello World") finalizers_size_middle = len(ThreadSafeFinalizer.finalizers) return finalizers_size_middle finalizers_size_middle = internal() gc.collect() # Before collection: two objects created + two returned objects (append # returns a stringbuffer reference for easy chaining). self.assertEqual(finalizers_size_middle, 0) # Assert after collection self.assertEqual(len(ThreadSafeFinalizer.finalizers), 0) self.gateway.shutdown()
class MemoryManagementTest(unittest.TestCase): def setUp(self): ThreadSafeFinalizer.clear_finalizers(True) self.p = start_example_app_process() def tearDown(self): safe_shutdown(self) self.p.join() gc.collect() def testNoAttach(self): self.gateway = JavaGateway() gateway2 = JavaGateway() sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") self.gateway.shutdown() self.assertRaises(Exception, lambda: sb.append("Python")) self.assertRaises(Exception, lambda: gateway2.jvm.java.lang.StringBuffer()) def testDetach(self): self.gateway = JavaGateway() gc.collect() finalizers_size_start = len(ThreadSafeFinalizer.finalizers) sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") self.gateway.detach(sb) sb2 = self.gateway.jvm.java.lang.StringBuffer() sb2.append("Hello World") sb2._detach() gc.collect() self.assertEqual( len(ThreadSafeFinalizer.finalizers) - finalizers_size_start, 0) self.gateway.shutdown() def testGCCollect(self): self.gateway = JavaGateway() gc.collect() finalizers_size_start = len(ThreadSafeFinalizer.finalizers) def internal(): sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") sb2 = self.gateway.jvm.java.lang.StringBuffer() sb2.append("Hello World") finalizers_size_middle = len(ThreadSafeFinalizer.finalizers) return finalizers_size_middle finalizers_size_middle = internal() gc.collect() # Before collection: two objects created + two returned objects (append # returns a stringbuffer reference for easy chaining). self.assertEqual(finalizers_size_middle, 4) # Assert after collection self.assertEqual( len(ThreadSafeFinalizer.finalizers) - finalizers_size_start, 0) self.gateway.shutdown() def testGCCollectNoMemoryManagement(self): self.gateway = JavaGateway(gateway_parameters=GatewayParameters( enable_memory_management=False)) gc.collect() # Should have nothing in the finalizers self.assertEqual(len(ThreadSafeFinalizer.finalizers), 0) def internal(): sb = self.gateway.jvm.java.lang.StringBuffer() sb.append("Hello World") sb2 = self.gateway.jvm.java.lang.StringBuffer() sb2.append("Hello World") finalizers_size_middle = len(ThreadSafeFinalizer.finalizers) return finalizers_size_middle finalizers_size_middle = internal() gc.collect() # Before collection: two objects created + two returned objects (append # returns a stringbuffer reference for easy chaining). self.assertEqual(finalizers_size_middle, 0) # Assert after collection self.assertEqual(len(ThreadSafeFinalizer.finalizers), 0) self.gateway.shutdown()
class OpenNLPTokenizer: def __init__(self): print "calling constructor" # launches java gateway server. self.gateway_server = GateWayServer() self.gateway = JavaGateway() # limit how long to wait for connection to gateway to be available. kill_time = 20 init_time = time.time() while True: if time.time() - init_time > kill_time: exit("\ncould not establish connection to gateway...") try: self.tokenizer = self.gateway.entry_point.getOpenNlpTokenizer() break except: continue def __del__(self): self.gateway.detach(self.tokenizer) self.gateway.close() self.tokenizer = None self.gateway = None def preProcess(self, text): """ sentenizes and then tokenizes text """ ret_val = [] for tokenized_sent in self.tokenizer.preProcess(text): tmp = [] for token in tokenized_sent: tmp.append(token) ret_val.append(tmp) return ret_val def sentenize(self, text): sentences = [] for sent in self.tokenizer.sentenize(text): sentences.append(sent) return sentences def tokenize(self, string): tokens = [] for tok in self.tokenizer.tokenize(string): tokens.append(tok) return tokens