Серверный JavaScript 1.4. Руководство по использованию


         

Следующий пример кода использует уже




Направление Их Всех в Пул


Следующий пример кода использует уже определённые функции для запрашивания соединений, к которым не обращались в течение 10 минут. Сначала создаётся совместно используемый массив соединений и пул БД с 5 соединениями:

if ( project.sharedConns == null ) {
   project.sharedConns = new Object();
   project.sharedConns.pool = new DbPool ("ORACLE", "mydb",
      "user", "password", "", 5, false);
   if ( project.sharedConns.pool.connected() ) {
      project.sharedConns.connections = new Object();
   }else {
      delete project.sharedConns;
   }
}

Теперь используем следующий код для попытки получения соединения. После зачистки пула генерируется клиентский ID, который затем используется как индекс в массиве соединений. Далее пытаемся получить соединение. Если возникает таймаут, вызываем RetrieveConnections для возвращения старого соединения в пул.

Если RetrieveConnections возвращает соединение в пул, пытаемся получить соединение вновь. Если всё ещё не можем получить соединение, выполняется перенаправление на другую страницу с информацией, что свободных соединений нет. Если запрашивается соединение, сохраняем его в новом bucket соединения и сохраняем этот bucket соединения в совместно используемом массиве соединений.

if ( project.sharedConns != null ) {
   var pool = project.sharedConns.pool;   // Этот код запускается, только если пул уже соединён.
   // Если нет, возможно, Вам нужен код для соединения.
   if ( pool.connected() == true ) {

      // Генерируется клиентский ID.

      client.id = ssjs_generateClientID();

      // Попытка получить соединение.

      var connection = pool.connection("my connection", 30);


Содержание  Назад  Вперед