def __init__(self, driver_name, url, username, password, impersonation_property=None, impersonation_user=None): if 'py4j' not in sys.modules: raise Exception('Required py4j module is not imported.') classpath = os.environ.get('CLASSPATH', '') if DBPROXY_EXTRA_CLASSPATH.get(): classpath = '%s:%s' % (DBPROXY_EXTRA_CLASSPATH.get(), classpath) self.gateway = JavaGateway.launch_gateway(classpath=classpath) self.jdbc_driver = driver_name self.db_url = url self.username = username self.password = password if impersonation_property and impersonation_user: self.db_url += ";{}={};".format(impersonation_property, impersonation_user) self.conn = None
def handle(self, *args, **kwargs): env = os.environ.copy() cmd = os.path.join(os.path.dirname(__file__), "..", "..", "..", "..", "..", "librdbms", "java", "bin", "dbproxy") if DBPROXY_EXTRA_CLASSPATH.get(): env['CLASSPATH'] = '%s:%s' % (DBPROXY_EXTRA_CLASSPATH.get(), env.get('CLASSPATH', '')) LOG.info("Executing %r (%r) (%r)" % (cmd, args, env)) # Use exec, so that this takes only one process. os.execvpe(cmd, args, env)
def handle(self, *args, **kwargs): env = os.environ.copy() cmd = os.path.join( os.path.dirname(__file__), "..", "..", "..", "..", "..", "librdbms", "java", "bin", "dbproxy" ) if DBPROXY_EXTRA_CLASSPATH.get(): env["CLASSPATH"] = "%s:%s" % (DBPROXY_EXTRA_CLASSPATH.get(), env.get("CLASSPATH", "")) LOG.info("Executing %r (%r) (%r)" % (cmd, args, env)) # Use exec, so that this takes only one process. os.execvpe(cmd, args, env)
def __init__(self, driver_name, url, username, password): if 'py4j' not in sys.modules: raise Exception('Required py4j module is not imported.') classpath = os.environ.get('CLASSPATH', '') if DBPROXY_EXTRA_CLASSPATH.get(): classpath = '%s:%s' % (DBPROXY_EXTRA_CLASSPATH.get(), classpath) self.gateway = JavaGateway.launch_gateway(classpath=classpath) self.jdbc_driver = driver_name self.db_url = url self.username = username self.password = password self.conn = None