JDBC запрашивает несколько баз данных - PullRequest
0 голосов
/ 13 февраля 2012

Что я хочу сделать, это запросить N баз данных и сохранить результаты в файле, специфичном для каждой базы данных, через JDBC. Я думал о параллельном выполнении запросов и думал о пуле потоков, но разве это масштабируемо? Есть ли лучший подход (актер-модель)?

Спасибо.

1 Ответ

1 голос
/ 13 февраля 2012

Да, это масштабируется. Всегда есть лучшие подходы, но вы должны быть уверены, что самый простой из них соответствует вашим потребностям. Если этого не произойдет, тогда ищите лучшие подходы.

Альтернативный подход совсем не должен быть сложным.

// initialize an executor service
ExecutorService executor = Executors.newCachedThreadPool();

// externalize the access to every database in a method declared in a class
// that implements Runnable
class Oracle implements Runnable {
  @Override
  public void run() {
    // load the driver
    // prepare the statement
    // get the connection
    // execute the statement and get the results
    // save the results to a file
  }
}

// execute every db access withing the executor
executor.execute(new Oracle());
executor.execute(new SqlServer());
executor.execute(new MySql());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...