def _init(self): """ Initializes all the basic run-time data structures and connects to the Zato broker. """ fs_server_config = get_config(self.repo_location, 'server.conf') app_context = get_app_context(fs_server_config) crypto_manager = get_crypto_manager(self.repo_location, app_context, fs_server_config) config_odb = fs_server_config.odb self.odb = app_context.get_object('odb_manager') self.odb.crypto_manager = crypto_manager self.odb.token = fs_server_config.main.token # Key-value DB self.kvdb = KVDB() self.kvdb.config = fs_server_config.kvdb self.kvdb.decrypt_func = self.odb.crypto_manager.decrypt self.kvdb.init() odb_data = Bunch() odb_data.db_name = config_odb.db_name odb_data.engine = config_odb.engine odb_data.extra = config_odb.extra odb_data.host = config_odb.host odb_data.password = self.odb.crypto_manager.decrypt(config_odb.password) odb_data.pool_size = config_odb.pool_size odb_data.username = config_odb.username odb_data.is_odb = True self.sql_pool_store = app_context.get_object('sql_pool_store') self.sql_pool_store[ZATO_ODB_POOL_NAME] = odb_data self.odb.pool = self.sql_pool_store[ZATO_ODB_POOL_NAME] self._setup_odb() # Connects to the broker super(BaseConnector, self)._init()