Как подключиться к 3 различным базам данных и запустить параллельные запросы через JDBC

У меня есть код, где он подключается к 3 базам данных и выполняет один запрос для каждой базы данных. Это делается последовательно.

1) Сначала я поместил 3 запроса в файл свойств.

2) Я повторяю файл свойств и сохраняю запросы в одном списке массивов.

while((propData=reader.readLine())!=null)
{
  /* ....... Iterates the prop file ...... */
}

Я сохранил запрос, полученный из файла свойств, в одном списке массивов.

ArrayList<String> list = new ArrayList<String>();

Затем я перебрал список, получил каждый запрос, запустил его и сохранил результаты.

for(int i=0;i<list.size();i++){

String ProcessedRecord = list.get(i);
String app_name = application.get(i);

ResultSet feedDetails = runQuery(ProcessedRecord,app_name); 

while(feedDetails.next()) 
{
  /* ...... */
}

} // End of For Loop

Но я хочу сделать это параллельно. Это означает, что я хочу подключиться ко всем трем различным базам данных параллельно, выполнить запросы по отдельности для соответствующей базы данных и ввести набор результатов.

Пожалуйста, помогите мне с кодом, как это сделать?

Спасибо,

 gradski14 июн. 2016 г., 14:47
 Fildor14 июн. 2016 г., 14:31
В пользу параллельного потока вы можете использовать Fork / Join API или старый добрый ExecutorService. В случае Java7 параллельные потоки недоступны.
 user325472514 июн. 2016 г., 14:31
Я просто новичок в параллелизме. Я использую Java версии 7.
 user325472514 июн. 2016 г., 14:32
@ specializt Извините за опечатку. Я хочу, чтобы код выполнял задачу параллельно. Я редактировал вопрос
 Fildor14 июн. 2016 г., 14:35
docs.oracle.com/javase/tutorial/essential/concurrency/... Это, вероятно, было бы хорошим моментом для вас.
 specializt14 июн. 2016 г., 14:15
«Но я хочу сделать это последовательно. То есть я хочу подключиться ко всем трем различным базам данных параллельно» --- это противоречие. Что это? Параллельно или последовательно? Также: что такое"код" должно быть? Мы говорим зашифрованные коды?
 Fildor14 июн. 2016 г., 14:21
Насколько вы знакомы с параллелизмом? И какая версия Java используется?docs.oracle.com/javase/tutorial/collections/streams/...
 user325472514 июн. 2016 г., 14:34
Я думаю, что это можно сделать через Concurrency API. Но я не уверен, как реализовать это в моем коде. Было бы хорошо, если бы кто-то мог помочь мне с примером кода
 Francesco Pirrone14 июн. 2016 г., 14:18
если вы хотите работать параллельно, вы должны порождать разные потоки, в зависимости от того, какую платформу вы используете, это может быть очень просто или очень сложно.

Ответы на вопрос(0)

Ваш ответ на вопрос